线程是任务调度和执行的基本单位,可以看做是轻量级的进程,多线程是指在同一程序中有多个顺序流在执行,也就是一个进程中同时执行多个线程,两个或两个以上的线程对同一个变量的操作.如果两个线程修改同一个对象的状态,根据线程访问数据的次序,可能会产生错误的数据,也就常说的并发问题.

线程的基本概念与创建

在学线程之前,首先来来了解一下线程与进程的区别:
进程:

  • 是系统资源分配的基本单位
  • 每个进程都有独立的代码和数据空间,程序切换会有较大的开销
  • 在操作系统中可以同时运行多个程序
  • 在运行时会为每个进程分配不同的内存空间

线程:

  • 是任务调度和执行的基本单位
  • 可以看做是轻量级的进程,同一类的线程共享代码和数据空间,线程之间切换开销较小
  • 多个线程可以运行在同一进程中
  • 除了CPU,系统不会为线程分配内存,线程组之间只能共享数据

线程和进程一样分为五个阶段:创建、就绪、运行、阻塞















收藏 打印