2012年10月17日

摘要: 在进行多线的开发中,经常会遇到类似这样的问题线程T4依赖T1,T2,T3的结果,T6又依赖T5和T4的结果。在有限可控的范围内,我们可以通过信号量来同步期间的关系,但是如果是在服务器或者线程数很庞大的情况下,就要三思了。因为使用信号量意味着1,创建所有的线程并启动。2,很多线程会因为没有执行到它而阻塞。我们知道在windows下,一个线程会耗费很多资源,其他的不说,光是内存就硬占1M。同时启很多个线程,并且其中大部分都在阻塞中,那么就意味着资源的大量浪费。在.net 4.0中,新加入了Task类型,将任务和线程分离开了,CLR会根据算法自动生成线程,分配给task去执行。这样就很适合我们要求的 阅读全文
posted @ 2012-10-17 23:59 suriyel 阅读(1901) 评论(0) 推荐(0) 编辑

导航