原文:C# 线程手册 第四章 线程设计原则 线程及线程间关系

一个多线程应用程序中的线程彼此间可能关联也可能不关联。例如,在每个程序中都有一个用来生成其他子线程的主线程,所以主线程就成了所有其他线程的控制器。在一个多线程应用程序中有三种常用方法来定义线程间的关系: . 主线程和工作线程模型 . 对等线程模型 . 管道线程模型 我们将详细讨论每一个模型,借助一些代码来使你能够知道如何在自己的程序中实现它们。 主线程和工作线程模型 这是最常见的线程模型也是到目 ...

2012-03-05 21:05 5 1808 推荐指数:

查看详情

C# 线程手册 第四章 线程设计原则 MTA 线程模型

一个STA和一个MTA线程单元最大的不同是再同一个线程单元中可以有多个线程运行并可以使用所有共享数据。如图2所示。 图 2 由于MTA线程模型支持多线程并发执行,所以处理多线程全局数据的同步问题就变成了调用方的事情了。关于同步问题我们已经在上一描述过。 确定线程模型 可以使 ...

Mon Mar 05 05:53:00 CST 2012 2 2915
C# 线程手册 第四章 线程设计原则

概述 大多数可扩展系统是具有高度并发性的,这意味着可能存在多个针对同一个对象的并发请求。实现一个既具有高并发性又具有线程安全性的代码是一个很大的挑战,因为这意味着当多个线程访问共享数据时,不会发生数据崩溃或者不一致的情况。 如果我们借助一个正式的线程模型使用多线程技术,我们可以写出 ...

Tue Feb 21 04:23:00 CST 2012 2 3195
C# 线程手册 第一 线程定义 线程

你也会注意到任务管理器中有CPU使用率的信息。这是因为进程也有一个使用计算机处理器的执行顺序。这个执行顺序就是线程。这个线程由CPU上正在使用的寄存器,线程使用的堆栈以及保存线程当前状态的存储器共同定义。存储器和堆栈的概念对那些经常处理底层内存分配的同僚们来说应该很熟悉;然而,对.NET ...

Wed Jan 04 22:54:00 CST 2012 7 4611
C# 线程手册 第二 .NET 中的线程 线程的生命周期

当一个线程计划执行时它可以经过几个状态,包括未开始,活跃,睡眠,等等。线程类包含几个允许你启动、停止、恢复、退出、暂停以及等待一个线程的方法。我们可以使用ThreadState属性来获取线程的当前状态,状态值可能是ThreadState枚举中的一个: Aborted - 线程当前处理停止状态 ...

Mon Jan 16 05:51:00 CST 2012 22 7045
C# 线程手册 第二 .NET 中的线程 终止/等待线程

Abort()方法可以用来终止当前线程。不论何种情况下你想终止线程,比如线程执行了太长时间或者用户取消了之前的决定,Abort()方法都很重要。在一个花费很长时间的搜索进程中你可能想使用这个方法。一个搜索引擎可能在继续运行但是用户已经看到了他们想要的结果,所以用户会终止搜索引擎所运行的线程。当在 ...

Tue Jan 17 06:53:00 CST 2012 5 9422
C# 线程手册 第二 .NET 中的线程 创建一个线程

我们将写一个简单的例子。对于我们为什么使用一个新的线程来说这不是一个好例子但是它将我们稍后要提到的复杂问题都去掉了。创建一个simple_thread.cs文件并把下面的代码粘贴进去: /************************************* /* Copyright (c ...

Wed Jan 11 04:58:00 CST 2012 5 7733
C# 线程手册 第二 .NET 中的线程 线程的优势

额,我猜你现在可能会这么想“既然线程会对我的程序产生负面影响,那么我为什么要使用它呢?”。其实问题的关键不在于到底用不用线程,而在于何时何地使用线程。知道在什么情况下应该使用线程是好的设计决策的核心。使用线程有两个不同的优势。在这一部分,我们将讨论这两个优势是什么。 后台处理逻辑 第一个使用 ...

Wed Jan 18 05:06:00 CST 2012 3 2744
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM