多线程

多线程基础

线程与进程

进程是操作系统资源分配的最小单位,是程序的一次独立运行实例,内存资源相互隔离,一个进程会有一个主线程。
线程是操作系统CPU 调度的最小单位,隶属于进程,是进程内的独立执行分支,一个进程执行过程中产生多个线程。

  • 进程独享内存、文件、端口等资源;同一进程下的多个线程共享进程资源(如方法区),并且每个线程有自己的独享资源(如程序计数器虚拟机栈本地方法栈)。
  • 进程创建、销毁、切换开销大;线程轻量化,创建与切换开销极低。
  • 进程完全隔离,单个进程崩溃互不影响;线程无强隔离,一个线程异常崩溃,会导致整个进程终止。
  • 进程间通信复杂(管道Socket消息队列等);线程间可直接通过共享内存、变量通信。

评论