Java多线程学习1 线程概念和状态
一 基本概念
进程(process):是计算机中已经运行的程序的实体,通常每个占用一定时间运行的程序就叫进程。
线程(thread): 是操作系统能够进行运算调度的最小单位,线程被包含在进程中,是具体的执行单位。
多线程(multithread): 是指从软件或者硬件上实现多个线程并发执行的技术。
并发:指两个或者多个事件(或者活动)在同一时间间隔内发生,其实质是单个物理CPU在若干道程序之间多路复用,并发可以对有限的物理资源强制行使多用户共享以提高效率,如下图所示:
并行:指两个或者多个事件(或者活动)在同一时刻发生,同时执行,如下图所示:
对于并发和并行的联系与区别,计算机科学家们是如何区分的呢?
1.Erlang之父Joe Armstrong的博文(原文链接)。
2.Go发明者之一Rob Pike的观点(原文链接)。
Note:更多内容可访问(链接)。
二 线程状态