分配的目标是编写多线程

时间:2019-05-23 08:25:51

标签: visual-c++

此任务的目标是编写一个探索同步挑战的多线程程序。对于这一部分,假设我们有一个共享变量NextID。开头将其初始化为1。

现在在程序中创建5个线程,并分别为其分配ID 1、2、3、4、5。创建线程时,可以将ID作为参数传递。

每个线程都将尝试访问变量“ NextID”。

每当线程获取变量时,它都会检查NextId是否等于其自己的ID。

如果不相等,它将输出“ Not My Turn!”,然后打印其threadId,然后释放该变量。

如果相等,则线程将打印“ My turn!”,然后打印其threadId,将NextId增加1,然后释放变量。但是,在将NextID加1后,线程将检查该值是否为6。如果为6,则会在释放变量之前将其重置为1。

程序应执行到每个线程打印20次“ Mu Turn!”为止。线程打印20次后,它将终止。

计算每个线程打印“ Not my Turn!”的次数,并将其包括在报告中。

代码应使用C

0 个答案:

没有答案