c#winform多线程开发复习进程.pdfVIP

  • 5
  • 0
  • 约1.48万字
  • 约 15页
  • 2021-04-03 发布于湖南
  • 举报
C# Wi n Fo r m 多 线 程 开 发 精品文档 C# WinForm 多线程开发 一 Thread 类库 Windows 是一个多任务的系统,如果你使用的是 windows 2000 及其以上版本, 你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢?当一 个程序开始运行时,它就是一个进程,进程所指包括运行中的程序和程序所使 用到的内存和系统资源。而一个进程又是由多个线程所组成的,线程是程序中 的一个执行流,每个线程都有自己的专有寄存器 (栈指针、程序计数器等 ) ,但 代码区是共享的,即不同的线程可以执行同样的函数。多线程是指程序中包含 多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任 务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。 一 关于 Thread 的说明 在 .net framework class library 中,所有与多线程机制应用相关的类都是放在 System.Threading命名空间中的。其中提供 Thread 类用于创建线程, ThreadPool 类用于管理线程池等等,此外还提供解决了线程执行安排,死锁,线程间通讯 等实际问题的机制。如果你想在你的应用程序中使用多线程,就必须包含这个 类。 Thread类有几个至关重要的方法,描述如下: Start():启动线程 Sleep(int):静态方法,暂停当前线程指定的毫秒数 Abort() :通常使用该方法来终止一个线程 Suspend():该方法并不终止未完成的线程,它仅仅挂起线程,以后还可恢复。 Resume():恢复被 Suspend()方法挂起的线程的执行 收集于网络,如有侵权请联系管理员删除 精品文档 线程入口使程序知道该让这个线程干什么事,在 C#中,线程入口是通过 ThreadStart代理( delegate)来提供的,你可以把 ThreadStart理解为一个函数指 针,指向线程要执行的函数,当调用 Thread.Start()方法后,线程就开始执行 ThreadStart所代表或者说指向的函数。 ThreadState在各种情况下的可能取值如 下: Aborted :线程已停止 AbortRequested:线程的 Thread.Abort()方法已被调用,但是线程还未停止 Background:线程在后台执行,与属性 Thread.IsBackground有关 Running:线程正在正常运行 Stopped:线程已经被停止 StopRequested:线程正在被要求停止 Suspended:线程已经被挂起(此状态下,可以通过调用 Resume()方法重新运 行) SuspendRequested:线程正在要求被挂起,但是未来得及响应 Unstarted:未调用 Thread.Start()开始线程的运行 WaitSleepJoin:线程因为调用了 Wait(),Sleep()或 Join()等方法处于封锁状态 二 Winform 中使用的 thread 首先可以看看最直接的方法,也是 .net 1.0下支持的方法。但请注意的是,此方 法在 .net 2.0 以后就已经是一种错误的方法了。 [csharp] view plain copy 在 CODE 上查看代码片派生到我的代码片 public partial class Form1 : Form { 收集于网络,如有侵权请联系管理员删除 精品文档 public Form1() {

文档评论(0)

1亿VIP精品文档

相关文档