黑马程序员-进程和线程


                   ----------ASP.NET+Unity培训  期待与你交流----------


一、进程

进程是指应用程序的一次动态执行。

获取任务管理器列表:

process[] ps =process.GetProcesses();


获取一个进程:

Process [] ps=Process.GetProcessesByName("Winword");

打开一个进程:

Process.Start("Notepad.exe");

结束进程:proc.Kill();

或者:

proc.CloseMainWindow();

proc.Close();



二、线程

线程:一个进程下可以有多个并发执行的线程,而线程擦拭CPU调度执行的最小单元。线程包括堆栈、CPU寄存器状态,以及系统任务计划列表中的项。进程中所有线程共享进程的虚拟地址空间和系统资源。

每个进程启动时都将创建一个默认线程,这叫做进程的主线程。对于c#程序,主线程执行的就是Main方法代码。执行过程中始终只有一个线程的程序叫做单线程程序,否则称之为多线程程序。每个线程都可以创建新的线程,而主线程之外的其他线程都叫辅助线程。

线程同步:

1)简单锁

lock(this)

{

  if()

  {  }

  else

  {  }

}

2)监视器

Monitor.Enter(this);

if()

{}

else

{

}

Monitor.Exit(this);

3)互斥对象

private Mutex mut=new Mutex();

if()

{}

else

{}

mut.ReleaseMutex();


最后就是异步回调:

对于需要较长时间的程序任务,.NET Framework 提供了异步操作的编程模式。其核心思想任然是创建一个新的辅助线程来完成指定任务,而主线程的运行不受干扰。


                         ----------ASP.NET+Unity培训  期待与你交流----------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值