线程同步 进程同步 EventWaitHandle
这个名字LLLLL取相同就能让同一台电脑上两个进程同步
主动控制程序
class Program { static EventWaitHandle eHandle = new EventWaitHandle(false, EventResetMode.AutoReset,"LLLLL"); static void Main(string[] args) { Console.WriteLine("主动控制"); Thread.Sleep(3000); Start(); Thread.Sleep(3000); Start(); Thread.Sleep(3000); Start(); Thread.Sleep(3000); Start(); Thread.Sleep(3000); Start(); } static bool Start() { return eHandle.Set(); } }
被动控制进程程序:
class Program { static EventWaitHandle eHandle = new EventWaitHandle(false, EventResetMode.AutoReset, "LLLLL"); static void Main(string[] args) { Console.WriteLine("被控制"); Thread th = new Thread(DoMethod); th.Start(); Start(); // Start(); //Stop(); //Start(); Stop(); Console.ReadKey(); } static bool Stop() { return eHandle.WaitOne(); } static bool Start() { return eHandle.Set(); } static void DoMethod() { while (true) { Stop(); Console.WriteLine(" running"); System.Threading.Thread.Sleep(1000); } } }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步