• 廖雪峰的多线程 2


    进程 vs 线程
    进程和线程是包含关系,但是多任务既可以由多进程实现,也可以由单进程内的多线程实现,还可以混合多进程+多线程。
    具体采用哪种方式,要考虑到进程和线程的特点。
    和多线程相比,多进程的缺点在于:

    创建进程比创建线程开销大,尤其是在Windows系统上;
    进程间通信比线程间通信要慢,因为线程间通信就是读写同一个变量,速度很快。
    

    而多进程的优点在于:
    多进程稳定性比多线程高,因为在多进程的情况下,一个进程崩溃不会影响其他进程,而在多线程的情况下,任何一个线程崩溃会直接导致整个进程崩溃。

    多线程
    Java语言内置了多线程支持:一个Java程序实际上是一个JVM进程,JVM进程用一个主线程来执行main()方法,在main()方法内部,我们又可以启动多个线程。此外,JVM还有负责垃圾回收的其他工作线程等。
    因此,对于大多数Java程序来说,我们说多任务,实际上是说如何使用多线程实现多任务。
    和单线程相比,多线程编程的特点在于:多线程经常需要读写共享数据,并且需要同步。例如,播放电影时,就必须由一个线程播放视频,另一个线程播放音频,两个线程需要协调运行,否则画面和声音就不同步。因此,多线程编程的复杂度高,调试更困难。
    Java多线程编程的特点又在于:

    多线程模型是Java程序最基本的并发模型;
    后续读写网络、数据库、Web开发等都依赖Java多线程模型。
    

    因此,必须掌握Java多线程编程才能继续深入学习其他内容。

  • 相关阅读:
    C#调用C++代码遇到的问题总结
    ASP.NET MVC Controller的激活
    利用fis3自动化处理asp.net项目静态资源时遇到的一个编码问题
    工作中遇到的一个多线程下导致RCW无法释放的问题
    在mongoose中使用$match对id失效的解决方法
    passport源码研究
    android手机旋转屏幕时让GridView的列数与列宽度自适应
    git 版本回退
    梦之解读:如何成为牛人
    DataTable与DTO对象的简易转换类
  • 原文地址:https://www.cnblogs.com/ukzq/p/13413209.html
Copyright © 2020-2023  润新知