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

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

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

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

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

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

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

  • 相关阅读:
    XSS相关有效载荷及绕道的备忘录(下)| 文末有打包好的负载
    基于windows 10打造的kali工具集
    XSS挑战之旅---游戏通关攻略
    SQLi_Labs通关文档【1-65关】
    Linux 安装 lanmp
    linux 下的init 0,1,2,3,4,5,6知识介绍
    WebGL2系列之多采样渲染缓冲对象
    FireFox下Canvas使用图像合成绘制SVG的Bug
    WebGL 着色器偏导数dFdx和dFdy介绍
    JavaScript 一元正号运算符
  • 原文地址:https://www.cnblogs.com/ukzq/p/13413209.html
Copyright © 2011-2022 走看看