多线程 相关知识

多线程


目标
进程
线程


进程
对应的就是计算机中执行的应用程序


Process p = new Process();
p.StartInfo.FileName = "notepad.exe";
p.Start();
通过实例对象来打开记事本
Process[] ps=Process.GetProcesses();
foreach (Process item in ps)
{
listBox1.Items.Add(item.ProcessName);
if (item.ProcessName == "notepad")
{
item.Kill();
}
}
得到系统正在运行的进程,并关闭“记事本”程序






线程
使用范围:
程序需要同时执行两个或多个任务 
程序要等待某事件的发生,例如用户输入、文件操作、网络操作、搜索等
后台程序


Thread 线程实例名 = new Thread(new ThreadStart(方法名));
线程实例名.Start();


线程的执行是无序的
Sleep()    睡眠的时候使用
Abort()   终止线程
Join()    让子线程回到主线程
Resume()  恢复执行
Start()    开始执行 
Suspend()  挂起线程
线程的优先级
AboveNormal 安排在优先级为 Highest(最高)的线程之后,以及优先级为 Normal(普通)的线程之前。
BelowNormal 安排在优先级为 Normal(普通)的线程之后,以及优先级为 Lowest(最低)的线程之前。
Highest 安排在任何其他优先级的线程之前。
Lowest 安排在任何其他优先级的线程之后。
Normal 安排在优先级为 AboveNormal 的线程之后,以及在优先级为 BelowNormal 的线程之前。默认情况下,线程的优先级为 Normal(普通)。
线程安全性就是保护类的成员和代码的安全,从而使它们不会同时被几个线程中断 
lock(this)
{
...
}

你可能感兴趣的:(多线程,thread,join,任务,网络)