C#的多线程机制初探(2)
来源:互联网 发布:淘宝宝贝自动上下架 编辑:程序博客网 时间:2024/05/18 19:38
本文将对C#编程中的多线程机制进行探讨,通过一些实例解决对线程的控制,多线程间通讯等问题。为了省去创建GUI那些繁琐的步骤,更清晰地逼近线程的本质,下面所有的程序都是控制台程序,程序最后的Console.ReadLine()是为了使程序中途停下来,以便看清楚执行过程中的输出。
好了,废话少说,让我们来体验一下多线程的C#吧!
二.操纵一个线程
任何程序在执行时,至少有一个主线程,下面这段小程序可以给读者一个直观的印象:
[CODE]
//SystemThread.cs
using System;
using System.Threading;
namespace ThreadTest
{
class RunIt
{
[STAThread]
static void Main(string[] args)
{
Thread.CurrentThread.Name="System Thread";//给当前线程起名为"System Thread"
Console.WriteLine(Thread.CurrentThread.Name+"'Status:"+Thread.CurrentThread.ThreadState);
Console.ReadLine();
}
}
}
[/CODE]
编译执行后你看到了什么?是的,程序将产生如下输出:
System Thread's Status:Running
在这里,我们通过Thread类的静态属性CurrentThread获取了当前执行的线程,对其Name属性赋值“System Thread”,最后还输出了它的当前状态(ThreadState)。所谓静态属性,就是这个类所有对象所公有的属性,不管你创建了多少个这个类的实例,但是类的静态属性在内存中只有一个。很容易理解CurrentThread为什么是静态的--虽然有多个线程同时存在,但是在某一个时刻,CPU只能执行其中一个。
- C#的多线程机制初探(2)
- C#的多线程机制初探(2)
- C#的多线程机制初探
- C#的多线程机制初探
- C#的多线程机制初探
- C#的多线程机制初探
- C#的多线程机制初探(2)_C#教程
- C#的多线程机制初探(2)_C#教程
- C#的多线程机制初探(1)
- C#的多线程机制初探(3)
- C#的多线程机制初探(4)
- C#的多线程机制初探(3)
- C#的多线程机制初探(1)
- C#的多线程机制初探(3)
- C#的多线程机制初探(4)
- C#的多线程机制初探(5)
- C#的多线程机制初探(6)
- C#的多线程机制初探(7)
- ORACLE服务意外删除或者注册表被修改恢复方案
- 谁将成为思科下一个收购对象?
- javascript解析xml
- C#的多线程机制初探(1)
- 使用Google Weather的API
- C#的多线程机制初探(2)
- 软件开发者面试百问
- 《java学习笔记》读书笔记のJava中出现printf()方法
- C#的多线程机制初探(3)
- 忘记Oracle数据库管理员密码的解决办法
- C#的多线程机制初探(4)
- C#的多线程机制初探(5)
- 调试WPF数据绑定(Data Binding)错误
- C#的多线程机制初探(6)