线程之线程的基本概念?
1.进程
定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。天通苑电脑培训发现它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
进程的概念主要有两点:
第一,进程是一个实体。每一个进程都有它自己的地址空间,一般情况下,包括文本区域(textregion)、数据区域(dataregion)和堆栈(stackregion)。文本区域存储处理器执行的代码;数据区域存储变量和进程执行期间使用的动态分配的内存;堆栈区域存储着活动过程调用的指令和本地变量。
第二,进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时(操作系统执行之),它才能成为一个活动的实体,我们称其为进程。
2.线程
线程,有时被称为轻量级进程(LightweightProcess,LWP),是程序执行流的最小单元。线程,有时被称为轻量级进程(LightweightProcess,LWP),是程序执行流的最小单元。
3.适用范围
3.1.服务器中的文件管理或通信控制
3.2.前后台处理
3.3.异步处理
4.线程特点
1)轻型实体
2)独立调度和分派的基本单位。
3)可并发执行。
4)共享进程资源。
5.线程和进程的区别
1)地址空间和其它资源(如打开文件):进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。
2)通信:进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段的辅助,以保证数据的一致性。
3)调度和切换:线程上下文切换比进程上下文切换要快得多。
4)在多线程OS中,进程不是一个可执行的实体。
6.守护线程
守护线程是特殊的线程,一般用于在后台为其他线程提供服务.
Java中,isDaemon():判断一个线程是否为守护线程.
Java中,setDaemon():设置一个线程为守护线程.
7.线程概念模型
(1)分时:cpu将程序执行的时间分片,为每个任务分配时间片,时间片结束轮询下一个时间片的代码并执行。从微观上看,多任务的执行是串联的,但是从宏观来看却是多任务并发执行。
(2)多任务:程序可以一次运行多个任务,每个任务对应一个线程。