|
|
1
5
有一种方法可以做到:
我对.NET的了解不够
可能有更好的(更好=更容易、更快等)方法来完成您正在尝试的工作,这取决于以下几点:
将这些信息添加到您的问题中是很有帮助的,尽管您的应用程序是一个WinForms应用程序,并且您正在谈论面向用户的GUI I/O,但是您可以跳过其他问题,因为场景很明显。
记住
如果是WinForms,请签出 this CodeProject post 以一种很酷的方式处理它。另请参阅msdn了解如何使用 InvokeRequired . 如果控制台或通用服务器应用程序(没有图形用户界面),您需要弄清楚如何让主线程知道它正在等待工作——您可能需要考虑一个备用的实现,该实现有一个I/O工作线程或线程池,该线程池刚好位于执行您排队等待的I/O请求的周围。或者,您可能想考虑同步I/O请求(更容易),而不是将调用编组到一个线程(更难)。
如果是ASP.NET,则可能是以错误的方式实现了这一点。通常,使用ASP.NET异步页和/或使用
|
|
|
2
1
你想做的与
|
|
3
1
在threadb上调用performio这段代码的另一部分只能在threadb是运行messageloop的主线程时工作。 所以也许你应该重新考虑一下你在这里做什么,这不是一个正常的建筑。 |
|
|
4
1
你的第二个线程除了
另外,顺便提一句,养成在创建任何System.Threading.Thread对象时命名的习惯。创建辅助线程时,通过 Name 财产。这将有助于您在调试会话中查看线程窗口,如果线程标识有疑问,它还允许您将线程名称打印到控制台或输出窗口。 |
|
|
user107586 · 如何处理等待句柄不会导致无限循环? 1 年前 |
|
|
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 1 年前 |
|
|
BenjiFB · C#内存缓存:在一次操作中追加到列表? 1 年前 |
|
|
András Takács · Python多线程问题 1 年前 |
|
|
András Takács · Python多线程错误 1 年前 |