liyonghui

导航

2012年12月11日 #

ThreadPool和Thread

摘要: private static void ThreadTest() { //新建ManualResetEvent对象并且初始化为无信号状态 ManualResetEvent eventX = new ManualResetEvent(false); ThreadPool.SetMaxThreads(3, 3); thr tt = new thr(15, eventX); for (int i = 0; i < 15; i++) { ThreadPool.QueueUserWorkItem(new WaitCallback(tt.ThreadProc), i); } //等待事件的完成,即线 阅读全文

posted @ 2012-12-11 13:25 李永辉 阅读(309) 评论(0) 推荐(0) 编辑

使用Task代替ThreadPool和Thread

摘要: 一:Task的优势ThreadPool相比Thread来说具备了很多优势,但是ThreadPool却又存在一些使用上的不方便。比如:1: ThreadPool不支持线程的取消、完成、失败通知等交互性操作;2: ThreadPool不支持线程执行的先后次序;以往,如果开发者要实现上述功能,需要完成很多额外的工作,现在,FCL中提供了一个功能更强大的概念:Task。Task在线程池的基础上进行了优化,并提供了更多的API。在FCL4.0中,如果我们要编写多线程程序,Task显然已经优于传统的方式。以下是一个简单的任务示例:staticvoid Main(string[] args) ... 阅读全文

posted @ 2012-12-11 13:15 李永辉 阅读(352) 评论(0) 推荐(0) 编辑

推荐体系算法总结

摘要: 推荐体系算法总结 阅读全文

posted @ 2012-12-11 10:47 李永辉 阅读(584) 评论(0) 推荐(0) 编辑