多线程

1.线程存在于进程之中。进程内所有全局资源对于内部每个线程均是可见的。

2.在一个线程的生存期内,可以在多种状态之间转换。不同操作系统可以实现不同的线程模型,定义不同的线程状态,每个状 态还可以包含多个子状态。但大体说来,如下几种状态是通用的:

就绪:参与调度,等待被执行。一旦被调度选中,立即开始执行。
运行:占用 CPU,正在运行中。
休眠:暂不参与调度,等待特定事件发生。
中止:已经运行完毕,等待回收线程资源

3.

进程内典型全局资源有如下几种:
代码区。这意味着当前进程空间内所有可见的函数代码,对于每个线程来说也是可见的。
静态存储区。全局变量。静态变量。
动态存储区。也就是堆空间。
线程内典型的局部资源有:
本地栈空间。存放本线程的函数调用栈,函数内部的局部变量等。
部分寄存器变量。例如本线程下一步要执行代码的指针偏移量。

4.

一个进程发起之后,会首先生成一个缺省的线程,通常称这个线程为主线程。C/C++程序中主线程为通过 main 函数进入的线程

原文地址:https://www.cnblogs.com/karcylee/p/3526948.html