托管线程处理的最佳做法?????????????????

dongguacha 2005-11-04 04:01:30
VS2003的帮助文档中有这样一篇《托管线程处理的最佳做法》

其中提到:

一般建议

使用多线程时要考虑以下准则:

不要使用 Thread.Abort 终止其他线程。对另一个线程调用 Abort 无异于引发此线程的异常,而且将不知道此线程已处理到哪一点。
(需要终止线程时用什么方法?)

不要使用 Thread.Suspend 和 Thread.Resume 来同步多个线程的活动。不要使用 Mutex, ManualResetEvent、AutoResetEvent 和 Monitor。
(哪还有什么方法来实现同步??)

不要从主程序中控制辅助程的执行,比如使用事件,而应在设计程序时让辅助线程负责等待任务,执行任务,并在完成时通知程序的其他部分。......
(等待任务......怎样实现?)


想好好学习一下.NET下的线程使用方法,不知哪里有好的实例或教程?
...全文
175 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChengKing 2006-01-07
  • 打赏
  • 举报
回复
线程讲解以及示例下载:
http://blog.csdn.net/ChengKing/category/160892.aspx
runrunrun 2006-01-07
  • 打赏
  • 举报
回复
(需要终止线程时用什么方法?)

========================

用事件通知子线程退出。
linuxyf 2006-01-06
  • 打赏
  • 举报
回复
异步回调实现的比较帅
jamesfay 2006-01-06
  • 打赏
  • 举报
回复
ThreadPool有个缺点就是无法监管Thread,只能听之任之
jiezhi 2006-01-06
  • 打赏
  • 举报
回复
实现多线程的简单有效的办法是使用ThreadPool
storm2003 2006-01-06
  • 打赏
  • 举报
回复
GZ
dongguacha 2005-11-05
  • 打赏
  • 举报
回复
up
机器人 2005-11-04
  • 打赏
  • 举报
回复
还有lock可以实现同步,线程完成任务可以通过deleget回调
我认为delegate的BeginInvoke, EndInvoke 的异步调用做得非常好,这是非常好的线程实现机制。
你可以先看看delegate的异步调用。
xamaizi 2005-11-04
  • 打赏
  • 举报
回复
去MSDN里面找找,肯定又不少例子的^_^
zhy0101 2005-11-04
  • 打赏
  • 举报
回复
线程最好是自行终止,也就是线程函数执行完毕返回。Abort是在线程中引发ThreadAbortException异常。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧