并行编程模型:线程、同步及新语言探索
1. 线程状态与数据可见性
1.1 线程状态
线程有以下几种状态:
- 新生成(newly generated):线程刚被创建,但尚未执行任何操作。
- 可执行(executable):线程已准备好执行,但当前未分配到任何执行资源。
- 运行(running):线程正在由执行资源执行。
- 等待(waiting):线程正在等待外部事件发生,在外部事件发生之前无法执行。
- 完成(finished):线程已终止所有操作。
线程状态的转换可以用以下 mermaid 流程图表示:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(new):::process --> B(executable):::process
B --> C(running):::process
C --> D(waiting):::process
C --> E(finished):::process
D --> B
B --> E
style A fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
style B fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
style C fill:#E5F6FF,stroke:#73A6FF,stroke-wi
超级会员免费看
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



