大多数可扩展系统是具有高度并发性的,这意味着可能存在多个针对同一个对象的并发请求。实现一个既具有高并发性又具有线程安全性的代码是一个很大的挑战,因为这意味着当多个线程访问共享数据时,不会发生数据崩溃或者不一致的情况。
一个STA和一个MTA线程单元最大的不同是再同一个线程单元中可以有多个线程运行并可以使用所有共享数据。
一个多线程应用程序中的线程彼此间可能关联也可能不关联。例如,在每个程序中都有一个用来生成其他子线程的主线程,所以主线程就成了所有其他线程的控制器。在一个多线程应用程序中有三种常用方法来定义线程间的关系:
-
主线程和工作线程模型
-
对等线程模型
-
管道线程模型
我们将要描述的下一个线程模型是对等线程模型。在这个线程模型中,每个线程都会从合适的源接收它自己的输入并对应地处理。
管道线程模型基于一系列任务,每个任务都依赖于前一个任务。
Original: https://www.cnblogs.com/danielWise/archive/2013/01/14/2859123.html
Author: DanielWise
Title: C# 线程手册 第四章 线程设计原则 系列
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/539908/
转载文章受原作者版权保护。转载请注明原作者出处!