多线程
一、进程
进程指一个应用程序所运行的操作系统单元,他是操作系统环境中的基本成分,也是系统进行资源分配的基本单位。
进程是执行程序的实例。当运行一个应用程序后,就生成了一个进程,这个进程拥有自己的独立内存空间。
每一个进程对应一个活动的程序,当进程激活时,操作系统就将系统的资源包括内存、I/O和CPU等分配给它,使它执行。
二、线程
进程可以被分为若干个独立执行流(路径),这些执行被称为线程
线程是指进程内的一个执行单位,也是进程内的可调度实体,线程是进程的一个实体,是cpu调度和分配时间的基本单位。线程基本上不拥有系统资源。
一个线程可以创建和撤销另一个线程,同一个进程中的多个线程间可以并发执行。线程提供了多任务处理的能力。
三、同步和异步
同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)
-
同步,就是调用某个东西是,调用方得等待这个调用返回结果才能继续往后执行。
-
异步,和同步相反 调用方不会立即得到结果,而是在调用发出后调用者可用继续执行后续操作,被调用者通过状态来通知调用者,或者通过回掉函数来处理这个调用。
四、Thread类
使用Thread类通过ThreadStart(无参数)或ParameterizedThreadStart(一个输入参数)类型的委托创建一个Thread对象,开启一个新线程,执行该委托传递的任务,此时线程尚未处于运行状态。
调用Start()函数启动线程,当前线程继续执行。
调用Join()函数可以阻塞当前线程,直到调用Join()的线程终止。
调用Abort()方法,如需中止线程,在调用该方法的线程上抛出ThreadAbortException异常,以结束该线程
可以通过Thread.ResetAbort()方法阻止线程的中止。
五、Task类
调用run()驱动线程。

浙公网安备 33010602011771号