C#多线程实战
qq_627400414
这个作者很懒,什么都没留下…
展开
-
Chapter 1 线程基础
线程 即 一个虚拟进程,用于独立运行一个特定程序。 线程会消耗大量的操作系统资源。多个线程共享一个物理处理器将导致操作系统忙于管理这些线程,且无法运行程序。 使用线程通常是一个操作系统任务,试图在单核CPU上并行执行计算任务是没有任何意义的,还会比顺序执行花费更多的时间。 当处理器拥有多核时,让程序不止使用一个处理核心。还需要 组织多个线程间的通信和相互同步。 正在运行中的一个程原创 2018-01-18 00:07:03 · 234 阅读 · 0 评论 -
Chapter3 ThreadPool
花费极少的时间来完成创建很多异步操作。 每个短暂的异步操作 创建线程都会产生显著开销。 。 线程池可以成功地是应用任何需要大量短暂的开销大情形。 事先 分配一定的资源,将这些资源放入到资源池。每次需要新的资源,只需从线程池 或许一个,而不用创建一个新的。 当该资源不再被使用时,就将其放回到池中。 每个CLR 都有一个线程池实例。 ThreadPool 类型拥有一个 QueueUser原创 2018-01-24 23:20:15 · 171 阅读 · 0 评论 -
Chapter 2 线程同步
多个线程同时使用共享对象会造成很多问题。同步这些线程使得对共享对象的操作能够以正确的顺序执行是非常重要的。 竞争条件问题: 多线程的执行并没有正确同步 其他线程需要依次等待,称为线程同步 (1) 如果无需共享对象,那么久无须进行线程同步。请尽可能避免在多个线程间使用单一对象。 (2 ) 使用原子操作:意味着,一个操作只占用一个量子的时间,一次就可以完成。所有只有当前操作完成后, 其他线程原创 2018-01-20 13:13:04 · 187 阅读 · 0 评论