多线程

一、进程

进程指一个应用程序所运行的操作系统单元,他是操作系统环境中的基本成分,也是系统进行资源分配的基本单位。

进程是执行程序的实例。当运行一个应用程序后,就生成了一个进程,这个进程拥有自己的独立内存空间。
每一个进程对应一个活动的程序,当进程激活时,操作系统就将系统的资源包括内存、I/O和CPU等分配给它,使它执行。

二、线程

进程可以被分为若干个独立执行流(路径),这些执行被称为线程

线程是指进程内的一个执行单位,也是进程内的可调度实体,线程是进程的一个实体,是cpu调度和分配时间的基本单位。线程基本上不拥有系统资源。

一个线程可以创建和撤销另一个线程,同一个进程中的多个线程间可以并发执行。线程提供了多任务处理的能力。

三、同步和异步

同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)

  • 同步,就是调用某个东西是,调用方得等待这个调用返回结果才能继续往后执行。

  • 异步,和同步相反 调用方不会立即得到结果,而是在调用发出后调用者可用继续执行后续操作,被调用者通过状态来通知调用者,或者通过回掉函数来处理这个调用。

四、Thread类

使用Thread类通过ThreadStart(无参数)或ParameterizedThreadStart(一个输入参数)类型的委托创建一个Thread对象,开启一个新线程,执行该委托传递的任务,此时线程尚未处于运行状态。

调用Start()函数启动线程,当前线程继续执行。

调用Join()函数可以阻塞当前线程,直到调用Join()的线程终止。

调用Abort()方法,如需中止线程,在调用该方法的线程上抛出ThreadAbortException异常,以结束该线程

可以通过Thread.ResetAbort()方法阻止线程的中止。

五、Task类

调用run()驱动线程。

posted @ 2023-04-26 14:46  末叶da  阅读(25)  评论(0)    收藏  举报