C# 控制多线程的顺序

是这样的,假设有三个线程A、B、C在一个方法D里,然后外界设一个时间定时触发timer每一秒执行一次D,现在假设情况是这样,每秒触发方法D会给一个图片流,然后我要依次控制... 是这样的,假设有三个线程A、B、C在一个方法D里,然后外界设一个时间定时触发timer 每一秒执行一次D,现在假设情况是这样,每秒触发方法D 会给一个图片流,然后我要依次控制线程ABC的执行,A相当于保存这个图片,B相当于等待A保存后读取图片计算图片的信息,C就是等待B执行完成后在删除图片,而且B计算比较耗时,而且还需满足,因为timer不断的在触发方法D,所以有可能导致C在执行删除图片时,恰好A进入了可能造成线程冲突,因此,最后我想求助3个问题,1,有人说这样按顺序执行就完了,可是B计算的时间比较长,我也不知道是不是需要多线程,2,如果需要多线程的话,怎么控制执行A 在执行B 在执行C,3方法D在不断的被触发,有可能执行C的时候有进入到A,那么一个删除图片,一个保存图片所以这个顺序也要控制,可以这么说 方法D被触发,ABC按顺序执行一次,方法D才能再次被触发,,谢谢高手了,说说流程就可以了以及怎么实现上述3点功能!谢谢 展开
 我来答
然后去远足
2014-05-13 · TA获得超过1万个赞
知道大有可为答主
回答量:4016
采纳率:83%
帮助的人:2421万
展开全部
说穿了题主的问题就是线程同步与互斥的问题,ABC同时会对某一个对象啊读写操作,A线程运行的时候BC就等着,B线程运行的时候AC就等着,以此类推,保证相互间不冲突。题主是这个意思吧?

所有多线程问题最后都可以归结到“生产者与消费者”问题上,只需要若干的信号量来保证线程间彼此互斥即可。题主可以自行百度“C# 生产者与消费者”、"C# 信号量"、"C# 线程互斥"等关键字。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式