pg电子·娱乐(中国)官方网站

银医系统建设,便民服务平台,智慧医院建设

股权代码

850107

新闻中心

PRESS CENTENR
企业资讯
行业资讯
C#多线程编程
发布时间:2016-10-17

一、使用线程的理由

  1、可以使用线程将代码同其他代码隔离,提高应用程序的可靠性。

  2、可以使用线程来简化编码。

  3、可以使用线程来实现并发执行。

 

二、基本知识

  1、进程与线程:进程作为操作系统执行程序的基本单位,拥有应用程序的资源,进程包含线程,进程的资源被线程共享,线程不拥有资源。

  2、前台线程和后台线程:通过Thread类新建线程默认为前台线程。当所有前台线程关闭时,所有的后台线程也会被直接终止,不会抛出异常。

  3、挂起(Suspend)和唤醒(Resume):由于线程的执行顺序和程序的执行情况不可预知,所以使用挂起和唤醒容易发生死锁的情况,在实际应用中应该尽量少用。

  4、阻塞线程:Join,阻塞调用线程,直到该线程终止。

  5、终止线程:Abort:抛出ThreadAbortException 异常让线程终止,终止后的线程不可唤醒。Interrupt:抛出ThreadInterruptException 异常让线程终止,通过捕获异常可以继续执行。

  6、线程优先级:AboveNormal BelowNormal Highest Lowest Normal,默认为Normal。

 

三、线程的使用

  1、’线程函数通过委托传递,可以不带参数,也可以带参数(只能有一个参数),可以用一个类或结构体封装参数。

  2、使用委托开启多线程(多线程深入),用委托(Delegate)的BeginInvoke和EndInvoke方法操作线程BeginInvoke方法可以使用线程异步地执行委托所指向的方法。然后通过EndInvoke方法获得方法的返回值(EndInvoke方法的返回值就是被调用方法的返回值),或是确定方法已经被成功调用。

  本文由医疗自助服务系统-医疗信息化产品供应商-中技互联:www.mftableware.com