社区
进程/线程/DLL
帖子详情
线程中的生产者和消费者问题
TaoLD
2004-11-11 08:59:48
小弟刚开始学 Win32 中的多线程,可是书上对于多线程编程讲解不全面,现在有一个问题:
在多线程程序中,各个线程间怎样互相通信,互相协调?能否写一个简单的多线程“生产者和消费者”的程序(最好是 Win32 Application 源程序)给小弟学习,非常感谢!
...全文
174
8
打赏
收藏
线程中的生产者和消费者问题
小弟刚开始学 Win32 中的多线程,可是书上对于多线程编程讲解不全面,现在有一个问题: 在多线程程序中,各个线程间怎样互相通信,互相协调?能否写一个简单的多线程“生产者和消费者”的程序(最好是 Win32 Application 源程序)给小弟学习,非常感谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
oyljerry
2004-11-11
打赏
举报
回复
看WIN32多线程程序设计就清楚了
hundlom
2004-11-11
打赏
举报
回复
http://dev.csdn.net/develop/article/23/23407.shtm
hundlom
2004-11-11
打赏
举报
回复
WIN32多线程程序设计学习笔记
http://dev.csdn.net/article/27/27448.shtm
看完这些基本可以解决问题。
DentistryDoctor
2004-11-11
打赏
举报
回复
建议楼主还是系统的阅读<Windows核心编程>和<Win32多线程编程>两本书,多看MSDN和PSDK的示例。
Kudeet
2004-11-11
打赏
举报
回复
这里有分析和代码
http://www.mdjgy.com/jsj/ShowArticle.asp?ArticleID=169
TaoLD
2004-11-11
打赏
举报
回复
各位高手帮帮忙啊!自己先顶!
linxy2002
2004-11-11
打赏
举报
回复
搞定了没有,如果没有就向我要,我的: linxy_2002@yahoo.com.cn
TaoLD
2004-11-11
打赏
举报
回复
谢谢各位高手的帮助……(略去一大段感激的话:)
过些时间我来结贴!
Java——
线程
之
生产者
消费者
Java——
线程
之
生产者
消费者
一、
生产者
消费者
模式概述二、
生产者
消费者
案例 一、
生产者
消费者
模式概述
生产者
消费者
模式是一个经典的多
线程
协作的模式。
生产者
消费者
问题
主要包含两类
线程
:
生产者
线程
:生产数据
消费者
线程
:消费数据 为了解耦
生产者
和
消费者
的关系,通常会采用共享的数据区域,就像是一个仓库:
生产者
生成数据后直接放置在共享数据区
中
,并不需要关心
消费者
的行为
消费者
只需要从共享数据区
中
去获取数据,并不需要关心
生产者
的行为 为了体现生产和消费过程
中
的等待和唤醒,Java提供了几个方法,这几个方
Java多
线程
——
生产者
消费者
问题
创建多个
线程
去执行不同的任务,如果这些任务之间有着某种关系,那么
线程
之间必须能够通信来协调完成工作。
生产者
消费者
问题
(英语:Producer-consumer problem)就是典型的多
线程
同步案例,它也被称为有限缓冲
问题
(英语:Bounded-buffer problem)。该
问题
描述了共享固定大小缓冲区的两个
线程
——即所谓的“
生产者
”和“
消费者
”——在实际运行时会发生的
问题
。
生产者
的主要作用是生成一定量的数据放到缓冲区
中
,然后重复此过程。与此同时,
消费者
也在缓冲区消耗这些数据。该
问题
的关键就是要保
线程
中
的
生产者
和
消费者
模式
多
线程
环境下,我们经常需要多个
线程
的并发和协作。这个时候,就需要了解一个重要的多
线程
并发协作模型“
生产者
/
消费者
模式”。 什么是
生产者
?
生产者
指的是负责生产数据的模块(这里模块可能是:方法、对象、
线程
、进程)。 什么是
消费者
?
消费者
指的是负责处理数据的模块(这里模块可能是:方法、对象、
线程
、进程) 什么是缓冲区?
消费者
不能直接使用
生产者
的数据,它们之间有个“缓冲区”。
生产者
将生产好的数据放入“缓冲区”,
消费者
从“缓冲区”拿要处理的数据。 缓冲区是实现并发的核心,缓冲区的设置有3个好
通俗易懂理解Java多
线程
生产者
和
消费者
(等待唤醒机制)
Java多
线程
生产者
和
消费者
(等待唤醒机制)的作用是实现
生产者
和
消费者
之间的协同工作,避免资源浪费和竞争。在多
线程
环境下,
生产者
负责生产数据,
消费者
负责消费数据。当
生产者
生产的数据过多时,需要等待
消费者
消费;当
消费者
消费的数据不足时,需要等待
生产者
生产。通过等待唤醒机制,可以实现
生产者
和
消费者
之间的同步,提高系统的效率。总结要点如下:
生产者
消费者
问题
:是多
线程
编程
中
的一个经典同步
问题
,涉及到如何平衡生产和消费速率以避免资源浪费或竞争条件。
秒杀多
线程
第十篇
生产者
消费者
问题
继经典
线程
同步
问题
之后,我们来看看
生产者
消费者
问题
及读者写者
问题
。
生产者
消费者
问题
是一个著名的
线程
同步
问题
,该
问题
描述如下:有一个
生产者
在生产产品,这些产品将提供给若干个
消费者
去消费,为了使
生产者
和
消费者
能并发执行,在两者之间设置一个具有多个缓冲区的缓冲池,
生产者
将它生产的产品放入一个缓冲区
中
,
消费者
可以从缓冲区
中
取走产品进行消费,显然
生产者
和
消费者
之间必须保持同步,即不允许
消费者
到一个空的缓冲区
进程/线程/DLL
15,473
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章