多线程编程模型
来源:互联网 发布:C语言 函数库 下载 编辑:程序博客网 时间:2024/05/16 19:29
在多线程编程中常见的模型包括:
1.委托(boss-worker)模型
2.对等(peer-to-peer)模型
3.流水线(pipeline)模型
4.生产者-消费者(producer-consumer)模型
切记不要将各种模型相互独立起来,而应该根据工作分解结构(WBS)来决定在不同的阶段或部分应采用哪种模型最合适。
下面就上述4种模型做一个简单的介绍:
1.委托模型
简而言之就是一个boss线程创建其他的worker线程,并给每个创建的worker线程指派任务。boss线程的主要作用是:a:创建所有的线程;b:将工作(task)放置到队列中;c:当工作需要处理时,唤醒worker线程。worker线程的主要作用是:a:检查队列中的请求;b:执行被指派的任务;c:如果没有可供处理的工作,则将自己挂起。
2.对等模型
相对于委托模型,在对等模型中,所有线程处于一个平等的工作状态,即所有线程都是worker线程,但会有一个线程在最初时创建所需要的全部线程,但该线程没有委派工作的功能。
3.流水线模型
用流水线生产线来描述流水线模型是比较恰当的,打个比方就能对该模型有一个初步的了解了。假设现有一篇文档A,需要把其中的标点符号,副词和感叹词全部去掉,可以创建3个线程,姑且记为T1,T2,T3,用T1处理标点符号,T2处理副词,T3处理感叹词。首先用T1处理文档A,将得到的新文档B传给T2,在T2处理完后,将得到的新文档C传给T3处理,直至T3处理完毕,一个流程完成。
4.生产者-消费者模型
在该模型中,producer线程负责产生数据,而consumer线程负责消费数据。该模型在大规模程序和应用中,也被称作客户端-服务器模型。
- 多线程编程模型
- 多线程服务器编程模型
- 多线程编程模型
- 多线程编程模型
- 为什么需要多线程编程模型
- 多线程系列:并发编程模型
- Linux网络编程多线程模型
- 网络编程模型综述 之 多线程模型
- 多线程编程模型之服务器/客户端模型
- 多线程编程模型之流水线模型
- 多线程编程艺术(3)-多线程等待通知编程模型
- Java多线程_编程模型研究
- 多线程服务器的常用编程模型
- 多线程服务器的常用编程模型
- 多线程服务器的常用编程模型
- 多线程服务器的常用编程模型
- 多线程服务器的常用编程模型
- 多线程服务器的常用编程模型
- 蛇形填数
- stoer wagner代码
- NYOJ-102:次方求模
- 使用一组radio button
- 九度1077 最大序列和
- 多线程编程模型
- Adobe AIR教程:iOS应用内付费简介和准备流程
- 整理综合之一 ----从Bytecode到BasicBlock
- Android之ExpandableListView
- 设计模式(十六)----- 迭代器模式(Iterator)----(JAVA版)
- Who do you think is the best coder, and why?
- HTML001——meta标签
- Android之sensor 传感器
- 安全卫士第四天--23黑名单拦截