c语言怎么写,急求,答案发至824562992@qq.com邮箱,谢谢
有一种零件,需要经过三个车床流水加工,车床一加工一个零件需要三到四分钟随机,车床二一到三分钟随机,车床三二到三分钟随机,每两个车床间有一个缓冲带,要实时输出两个缓冲带的零...
有一种零件,需要经过三个车床流水加工,车床一加工一个零件需要三到四分钟随机,车床二一到三分钟随机,车床三二到三分钟随机,每两个车床间有一个缓冲带,要实时输出两个缓冲带的零件数,c程序怎么写紧急求解谢啦
展开
3个回答
展开全部
代码就不给你写了,说一下方法吧:
2个缓唤渗冲带分别对应2个计数器C1和C2,开启2个线程,算上主线程,共3个线程。
下面分别说一下这3个线程负责的工作:
主线程(对应机床1):死循环,循环中生成一个[180000, 240000]范围内的随机数(分别对应3分钟和4分钟的毫秒数)nR,每生成一个nR就Sleep(nR)一下,表示正在处理的零件需要耗时nR毫秒的时间,sleep完之后,将C1++,表示缓冲带1新添了一个零件;
线程1 (对岁如应机床2):死循环,不停地判断计数器C1。C1如果不为0,将C1--,表示缓冲带1减少了一个零件,同时生成一个[60000, 180000]范围内的随机数(分别对应1分钟和和雀脊3分钟的毫秒数)nR,每生成一个nR就Sleep(nR)一下,表示正在处理的零件需要耗时nR毫秒的时间,sleep完之后,将C2++,表示缓冲带2新添了一个零件;
线程2 (对应机床3):死循环,不停地判断计数器C2,C2如果不为0,将C2--,表示缓冲带2减少了一个零件,同时生成一个[120000, 180000]范围内的随机数(分别对应2分钟和3分钟的毫秒数)nR,每生成一个nR就Sleep(nR)一下,表示正在处理的零件需要耗时nR毫秒的时间。
不管是哪个线程,只要C1或C2任何一个变化了,就在该线程输出C1和C2的值,突出实时性。
另:C1和C2的操作因为是多线程操作,需要两个临界量来控制一下。
2个缓唤渗冲带分别对应2个计数器C1和C2,开启2个线程,算上主线程,共3个线程。
下面分别说一下这3个线程负责的工作:
主线程(对应机床1):死循环,循环中生成一个[180000, 240000]范围内的随机数(分别对应3分钟和4分钟的毫秒数)nR,每生成一个nR就Sleep(nR)一下,表示正在处理的零件需要耗时nR毫秒的时间,sleep完之后,将C1++,表示缓冲带1新添了一个零件;
线程1 (对岁如应机床2):死循环,不停地判断计数器C1。C1如果不为0,将C1--,表示缓冲带1减少了一个零件,同时生成一个[60000, 180000]范围内的随机数(分别对应1分钟和和雀脊3分钟的毫秒数)nR,每生成一个nR就Sleep(nR)一下,表示正在处理的零件需要耗时nR毫秒的时间,sleep完之后,将C2++,表示缓冲带2新添了一个零件;
线程2 (对应机床3):死循环,不停地判断计数器C2,C2如果不为0,将C2--,表示缓冲带2减少了一个零件,同时生成一个[120000, 180000]范围内的随机数(分别对应2分钟和3分钟的毫秒数)nR,每生成一个nR就Sleep(nR)一下,表示正在处理的零件需要耗时nR毫秒的时间。
不管是哪个线程,只要C1或C2任何一个变化了,就在该线程输出C1和C2的值,突出实时性。
另:C1和C2的操作因为是多线程操作,需要两个临界量来控制一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题是什么呀? 是 实时输出两个缓冲带的零件数 吗?
追问
是呀,C程序怎么写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询