摘要: 。 阅读全文
posted @ 2018-08-12 20:58 慢慢走向架构师 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 使用ThreadPool发起一次异步的、受计算限制的操作是非常简单的,但是没有一个机制在任务结束后获得一个返回值,为了克服这些问题,微软引入了任务(task)的概念。创建Task的方式总是调用构造器。 重要提示:一个线程调用Wait方法时,系统检测要等待的Task是否已经开始执行,如果是,调用wai 阅读全文
posted @ 2018-08-12 20:50 慢慢走向架构师 阅读(929) 评论(0) 推荐(0) 编辑
摘要: 对于长时间运行的计算限制操作来说,支持取消是一件很有用的特性。 为了取消一个操作,首先必须创建一个System.Threading.CancellationTokenSource对象 public sealed class CancellationTokenSource : IDisposable 阅读全文
posted @ 2018-08-12 17:31 慢慢走向架构师 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 每CLR一个线程池:这个线程池由CLR控制的所有APPDomain共享。如果一个进程中加载了多个CLR,那么每个CLR都有它自己的线程池。CLR初始化时,线程池中是没有线程的,在内部,线程池维护一个操作请求队列。应用程序想执行一个异步操作时,就调用某个方法,将一个记录项(entry)追加到线程池的队 阅读全文
posted @ 2018-08-12 16:50 慢慢走向架构师 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 使用线程有以下三方面原因 1 可以使用线程将代码同其他代码隔离 这将提高应用程序的可靠性。如果你的应用支持加载第三方的组件,那么应用程序对于健壮性的要求就会提高,使用线程将有助于满足这个需求。 比如第三方组件出错、或是崩溃后可以不影响自己的应用程序,同时,还可以再次利用线程来使用第三方组件。 2可以 阅读全文
posted @ 2018-08-12 13:02 慢慢走向架构师 阅读(499) 评论(0) 推荐(0) 编辑