线程
线程创建的四种方法:
using System;
using System.Threading;
namespace Thread_test
{
//创建线程的方式
class CreateThread
{
// 1.不带参数的委托
public void CreateThreadWithThreadStart()
{
Thread thread = new Thread(new ThreadStart(ThreadMethod));
thread.Start();
}
// 2.带参数的委托
public void CreateThreadWithParamThreadStart()
{
Thread thread = new Thread(new ParameterizedThreadStart(ThreadMethod2));
Object o= null;
thread.Start(o);
}
///3.匿名函数
public void CreateThreadWithAnonymousFunction()
{
Thread thread = new Thread(delegate()
{
Console.WriteLine("进入子线程1");
for (int i = 1; i < 4; ++i)
{
Thread.Sleep(50);
Console.WriteLine("\t+++++++子线程1+++++++++");
}
Console.WriteLine("退出子线程1");
});
thread.Start();
}
//4.直接赋值委托
public void CreateThreadWithThreadMethod()
{
Thread _hThread = new Thread(ThreadMethod);
_hThread.Start();
}
//5.Lambda表达式创建的委托
public void CreateThreadWithLambda()
{
Thread th = new Thread(() => Console.WriteLine("lambda"));
th.Start();
}
//无参数的方法调用
public void ThreadMethod()
{
Console.WriteLine("无参数方法");
}
// 带参数的方法
public void ThreadMethod2(object obj)
{
Console.WriteLine("带无参数方法");
}
}
}
线程的优先级:
可以通过Thread类Priority属性设置,Priority属性是一个ThreadPriority型枚举,列举了5个优先等级,从高到低:Highest、AboveNormal、Normal、BelowNormal和 Lowest,默认为Normal