我对C#很新,所以请耐心等待。我正在开发一个由事件驱动的服务器线程和一个GUI线程组成的小型服务器应用程序。我想让GUI和服务器“独立”(不使用两个进程)。独立我的意思是,一旦GUI启动,它会检查服务器线程是否正在运行,如果不是它创建它,否则只是通知服务器线程GUI线程处于活动状态。并且该GUI线程可以退出并保持服务器线程活着。GUI +线程,GUI退出线程停留 - >如何在GUI再次启动时检测线程?
伪代码:
GUI starts
{
if (serverThread.isRunning)
notify serverThread that GUI is active
else
create and start serverThread
}
GUI exits
{ notify serverThread that GUI is going to be terminated; exit GUI }
棘手的部分是如何重新启动GUI,并通知服务器GUI还活着。
现在我所做的只是:启动GUI和内部GUI创建线程serverThread并启动它。离开GUI服务器后,线程保持活动状态,但我不知道如何在GUI再次启动时获取对serverThread的引用。
通过单击图标启动GUI。
谢谢你的时间和答案。
使用两个过程是最自然的解决方案,从长远来看,它会让事情变得容易得多。你为什么不想这样做? – Jon 2011-03-28 14:10:01
因为我认为它会使通信和更新GUI更有问题。 – Ben 2011-03-28 14:13:25