我爱Aspx >> C#.Net >> C#的多线程机制初探(2)_C#教程
下面我们就动手来创建一个线程,使用Thread类创建线程时,只需提供线程入口即可。线程入口使程序知道该让这个线程干什么事,在C#中,线程入口是通过ThreadStart代理(delegate)来提供的,你可以把ThreadStart理解为一个函数指针,指向线程要执行的函数,当调用Thread.Start()方法后,线程就开始执行ThreadStart所代表或者说指向的函数。
打开你的VS.net,新建一个控制台应用程序(Console Application),下面这些代码将让你体味到完全控制一个线程的无穷乐趣!
//ThreadTest.cs
using System;
using System.Threading;
namespace ThreadTest
{
public class Alpha
{
public void Beta()
{
while (true)
{
Console.WriteLine("Alpha.Beta is running in its own thread.");
}
}
};
public class Simple
{
public static int Main()
{
Console.WriteLine("Thread Start/Stop/Join Sample");
Alpha oAlpha = new Alpha();
//这里创建一个线程,使之执行Alpha类的Beta()方法
Thread oThread = new Thread(new ThreadStart(oAlpha.Beta));
oThread.Start();
while (!oThread.IsAlive);
Thread.Sleep(1);
oThread.Abort();
oThread.Join();
Console.WriteLine();
Console.WriteLine("Alpha.Beta has finished");
try
{
Console.WriteLine("Try to restart the Alpha.Beta thread");
oThread.Start();
}
catch (ThreadStateException)
{
Console.Write("ThreadStateException trying to restart Alpha.Beta. ");
Console.WriteLine("Expected since aborted threads cannot be restarted.");
Ҷƪл˵?
C#的多线程机制初探(3)_C#教程[04-28]
C#的多线程机制初探(4)_C#教程[04-28]
深入理解C# 3.0的五项主要改进_C..[04-28]
C#编码好习惯_C#教程[04-28]
Photoshop怎样精确校正严重偏色照..[04-28]
挑战C#学习的最快速度_C#教程[04-28]
C#基础概念二十五问_C#教程[04-28]
c#.NET多线程编程(1):多任务和..[04-28]
编写安全的多线程C#程序[04-28]
c#多线程编程教学(2):Thread类[04-28]
C#的多线程机制初探(3)_C#教程[04-28]
C#的多线程机制初探(4)_C#教程[04-28]
深入理解C# 3.0的五项主要改进_C..[04-28]
C#编码好习惯_C#教程[04-28]
Photoshop怎样精确校正严重偏色照..[04-28]
挑战C#学习的最快速度_C#教程[04-28]
C#基础概念二十五问_C#教程[04-28]
NHibernate的SaveOrUpdate的一个..[04-28]
c#.NET多线程编程(1):多任务和..[04-28]
Microsoft SilverLight横空出世[04-28]