我正在设法使用户控件在他们自己的UI线程中运行。这有可能吗?我试图防止一个基于模块的应用程序因为单个模块而崩溃。
有什么想法吗?
发布于 2017-12-27 08:49:48
不幸的是,所有UI控件都运行在同一个UI线程上。因此,在这个线程上运行的任何可能导致挂起情况的代码都需要使用某种超时逻辑进行编码。
DateTime startTime = DateTime.Now;
while(DateTime.Now.Subtract(startTime).TotalSeconds < 30)
{
//do something
}
否则,正如Orlanguage前面所述,所有事件处理程序代码都需要在单独的线程中运行。但是,您仍然需要监视这些线程,以确定它们是否运行时间过长并关闭它们。因此,你最好实现上面的逻辑类型,因为它将减少工作量和更易于维护。
https://stackoverflow.com/questions/-100000011
复制相似问题