多线程(1) — 开篇,线程的状态

  进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础,是线程的容器。

  程序是指令、数据及其组织形式的描述,进程是程序的实体。

  在Windows系统中,任务管理器中可以看到各个进程。

  线程是轻量级进程,是程序执行的最小单位,使用多线程而不是多进程去进行并发程序设计,因为线程间的切换和调度成本远远小于进程。

  线程有如下集中状态:

  NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING,TERMINATED

  NEW状态表示刚刚创建线程,还没开始执行。

  RUNNABLE状态,线程新建之后,调用start()方法就进入这个状态,表示线程需要的资源都准备好了。

  BLOCKED阻塞状态,当线程遇到synchronize同步块时,进入阻塞状态,线程会暂停执行,知道获得请求锁为止。

  WAITING等待是进入一个无时间限制的等待,等待一些特殊事件,比如wait()方法等待的线程在等待notify(),而join()方法等待的是目标线程的终止。

  TIMED_WAITING会进行一个有时限的等待。

  TERMINATED表示结束,线程执行完毕。

原文地址:https://www.cnblogs.com/wangyongwen/p/11186423.html