卧槽这怎么做啊,C#里面对于共享内存的支持本来就有点蹩脚
两个进程更改同一个变量是想要闹怎样……
先弄个线程的,实在不行要进程了之后用C++给你写个
using Systemusing 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)
}
}
其实就是亏闹两个线程同步.一个是司机开车和停车,另外一个是售票员关门和开门.司机停车时,售票员才能开门.
售票员关门后搜空散,司机才能开车.
完整代码自己写吧.这个不会写,考试多世氏半也要挂
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)