C#或C++使用信号量机制,编写一个含有两个进程,互斥更改变量n的小程序

C#或C++使用信号量机制,编写一个含有两个进程,互斥更改变量n的小程序,第1张

卧槽这怎么做啊,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)

    }

}

其实就是亏闹两个线程同步.一个是司机开车和停车,另外一个是售票员关门和开门.

司机停车时,售票员才能开门.

售票员关门后搜空散,司机才能开车.

完整代码自己写吧.这个不会写,考试多世氏半也要挂


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12479540.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存