C#或C++使用信号量机制,编写一个含有两个进程,互斥更改变量n的小程序 5
请问用C#怎么写?更改变量n是类似一个+1,一个-1的那种吗?我的理解是这样的,求会的大神给出较完整的代码,最好是C#的,谢谢啦...
请问用C#怎么写? 更改变量n是类似一个+1,一个-1 的那种吗?
我的理解是这样的,求会的大神给出较完整的代码,最好是C#的,谢谢啦 展开
我的理解是这样的,求会的大神给出较完整的代码,最好是C#的,谢谢啦 展开
2个回答
展开全部
卧槽这怎么做啊,C#里面对于共享内存的支持本来就有点蹩脚
两个进程更改同一个变量是想要闹怎样……
先弄个线程的,实在不行要进程了之后用C++给你写个
using System;
using System.Threading;
class Program
{
static int g_cnt;
static void Main(string[] args)
{
Semaphore semaphore = new Semaphore(1, 1);
ParameterizedThreadStart ts = new ParameterizedThreadStart(x =>
{
Semaphore s = (Semaphore)x;
for (int i = 0; i < 50000; ++i)
{
s.WaitOne();
++g_cnt;
s.Release();
}
});
Thread t1 = new Thread(ts);
Thread t2 = new Thread(ts);
g_cnt = 0;
t1.Start(semaphore);
t2.Start(semaphore);
t1.Join();
t2.Join();
Console.WriteLine(g_cnt);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询