zoukankan      html  css  js  c++  java
  • 廖雪峰的多线程 2

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

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

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

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

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

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

  • 相关阅读:
    asp.net mvc (三)
    asp.net mvc(二)
    实现属于自己的Custom Formatter
    属性(Properties)和字段在C#中的关系
    LINQ 和泛型
    asp.net mvc(一)
    asp.net mvc(四)
    C#中的string
    asp.net mvc(五)
    Nullable Value Type
  • 原文地址:https://www.cnblogs.com/ukzq/p/13413209.html
Copyright © 2011-2022 走看看