社区
进程/线程/DLL
帖子详情
如何让线程按指定顺序执行
gxx2019
2009-10-08 08:04:11
有3个线程,A负责接收数据,B负责处理数据,C负责写数据到磁盘。请问用什么样的同步方法,可以让3个线程顺序执行。
即总是A先执行,然后B,然后C。
...全文
329
17
打赏
收藏
如何让线程按指定顺序执行
有3个线程,A负责接收数据,B负责处理数据,C负责写数据到磁盘。请问用什么样的同步方法,可以让3个线程顺序执行。 即总是A先执行,然后B,然后C。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
u26zxu
2009-10-20
打赏
举报
回复
同意sevencat看法.队列处理
分析.A B 业务特点. 比如A采集要求的是不连续性,持续性, B处理业务处理时间 C业务处理时间等
进行适当的处理,比如队列长度,是否要用链表,还是加入丢包处理等,
这种分多线程我想适合A接收短时间内要求实时性比较高的情况下用,跟据业务实时性要求建立缓冲
sevencat
2009-10-18
打赏
举报
回复
我做过一个类似的东东,不过我的效率未必高,我是建立了两个队列,A线程完成后丢队列1,B线程不停的到队列1取东东,取到后进行处理,并再丢到队列2,C线程不停的到队列2取东东执行。我自己觉得这样很清晰。也不太容易出问题。
danscort2000
2009-10-13
打赏
举报
回复
最简单也是最高效的方法
采用线程消息环
A-B
B-C
C-A
就可以了
szsmile123
2009-10-13
打赏
举报
回复
A线接收到数据创建B线程,然后B线程在创建C线程,各线程之间的数据传递就很多种了
wangk
2009-10-13
打赏
举报
回复
我建议你使用Fiber(也就是俗称的纤程),然后配合数据队列自己来调度。
不过逻辑一定要理清楚,否则你会发现,还不如用单线程来实现。
greatws
2009-10-13
打赏
举报
回复
一个wait一个,不过这样你就失去多线程的意义了,就在一个线程处理好了。
一条晚起的虫
2009-10-09
打赏
举报
回复
[Quote=引用 6 楼 lisunlin0 的回复:]
如果必须按这样的设计执行的话,一个线程序搞定,不用需要用多线程。
[/Quote]
//同感
sunlin7
2009-10-09
打赏
举报
回复
如果必须按这样的设计执行的话,一个线程序搞定,不用需要用多线程。
ssmartboy
2009-10-09
打赏
举报
回复
学一下线程同步,<<windows核心编程>>上非常清楚
litomboy
2009-10-09
打赏
举报
回复
学习
必成桂
2009-10-09
打赏
举报
回复
用event事件就可以了。
创建事件event1, 事件event2
线程B等待event1, 线程A执行完成后通知B执行。
线程C等待event2, B执行完成通知C执行。
ccc_cgreen
2009-10-09
打赏
举报
回复
严格要求某些线程按照某种顺序执行是几乎不可能的,毕竟,你没有办法预先知道下一个CPU时间片分配给哪个线程,你要实现你的业务逻辑的话,一般都是通过线程同步,来保证A接受到数据之后,然后B再处理,然后C再处理
ssmartboy
2009-10-09
打赏
举报
回复
[Quote=引用 6 楼 lisunlin0 的回复:]
如果必须按这样的设计执行的话,一个线程序搞定,不用需要用多线程。
[/Quote]
概念错误,可接受若干次,也可以处理若干次,还可以写若干此磁盘,而且他们的次数是可以不等的.所以说多线程是有用武之地的
wltg2001
2009-10-08
打赏
举报
回复
[Quote=引用楼主 gxx2019 的回复:]
有3个线程,A负责接收数据,B负责处理数据,C负责写数据到磁盘。请问用什么样的同步方法,可以让3个线程顺序执行。
即总是A先执行,然后B,然后C。
[/Quote]
这个不难吧,BC先用WaitForSingleObject等待,A做完了发信号量,让B执行,B完了发信号量让C执行。
Coder_Y_Jao
2009-10-08
打赏
举报
回复
前一个线程函数返回前CREATEEVENT
glacier3d
2009-10-08
打赏
举报
回复
说错了,是生产者/消费者模型
glacier3d
2009-10-08
打赏
举报
回复
应该还是读写者模型,AB之间建立一个读写者模型,BC之间也建立一个,同步用信号量之类
手写数字识别系统.doc【GUI设计Matlab】
资 源 简 介 手写数字识别系统,非常好的啊!带有GUI界面,使用方便! 详 情 说 明 用这个手写数字识别系统,你可以轻松地识别手写数字。这个系统不仅功能强大,而且还带有直观的图形用户界面(GUI),非常容易使用。你只需要将手写数字输入系统,它将立即给出准确的识别结果。这个系统可以在各种场景中使用,无论是学校、工作还是日常生活,都能为你提供快速和准确的识别服务。它是一个非常方便和实用的工具,你一定会喜欢它的!
如何通过区域科技创新分析工具精准掌握区域创新要素分布与产业链融合现状?.docx
如何通过区域科技创新分析工具精准掌握区域创新要素分布与产业链融合现状?
Visual-Workflow-Orphan-Node-Auditor-v1.0-原创源码与文档.zip
原创本地工程审计与分析工具合集中的独立资源包。每个ZIP包含完整源码、3项自动化测试、可复现合成示例、离线HTML、JSON与SVG报告、1080×720真实运行效果图、README、运行说明、功能清单、MIT License及原创与授权声明。解压后进入project目录,
执行
npm test验证算法,
执行
npm run report生成报告,也可通过本地静态服务器打开网页。运行时零第三方依赖,不包含热点产品或开源项目源码、Logo、官方截图、论文、生产日志或其他受限素材。适合前端开发、AI应用工程、测试审计和课程实践。
Cypress-Flaky-Test-Evidence-Auditor-v1.0-原创源码与文档.zip
原创本地工程审计与分析工具合集中的独立资源包。每个ZIP包含完整源码、3项自动化测试、可复现合成示例、离线HTML、JSON与SVG报告、1080×720真实运行效果图、README、运行说明、功能清单、MIT License及原创与授权声明。解压后进入project目录,
执行
npm test验证算法,
执行
npm run report生成报告,也可通过本地静态服务器打开网页。运行时零第三方依赖,不包含热点产品或开源项目源码、Logo、官方截图、论文、生产日志或其他受限素材。适合前端开发、AI应用工程、测试审计和课程实践。
FortiGate-v7.4.9-FGT-601E-v7.4.9.M-build2829-FORTINET.out
FGT_601E-v7.4.9.M-build2829-FORTINET.out
进程/线程/DLL
15,465
社区成员
49,169
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章