0
点赞
收藏
分享

微信扫一扫

netcore 俩个线程乱序调整

 

 

class Program
{
public static long flgVal = 0;

static void Main(string[] args)
{
int n = 100;
Task.Run(() => DaMi(n));
Task.Run(() => LaoShu(n));

Console.Read();
}

public async static Task LaoShu(int n)
{

for (int i = 0; i < n; i++)
{
while (true)
{

if (Interlocked.Read(ref flgVal) == 0)
{
break;
}
}
Console.Write("老鼠");
Interlocked.Increment(ref flgVal);
}
}

public async static Task DaMi(int n)
{

for (int i = 0; i < n; i++)
{
while (true)
{

if (Interlocked.Read(ref flgVal) == 1)
{
break;
}
}

Console.Write("爱大米 ");
Interlocked.Decrement(ref flgVal);


}
}







}

netcore 俩个线程乱序调整_软件编程

 

作者:沐雪
文章均系作者原创或翻译,如有错误不妥之处,欢迎各位批评指正。本文版权归作者所有,如需转载恳请注明。 如果您觉得阅读这篇博客让你有所收获,
​​​ 为之网-热爱软件编程 http://www.weizhi.cc/​​



举报

相关推荐

0 条评论