[10] 多线程
小何同学_
态度决定高度 细节决定成败
展开
-
【多线程-创建新线程】
一.创建无参数的入口线程:new Thread(new ThreadStart(GetShow)); static void Main(string[] args) { Console.WriteLine("进入主线程"); Thread subthread = new Thread(new ThreadStart(原创 2016-05-12 15:33:23 · 1192 阅读 · 0 评论 -
【多线程-线程的概念】
一.什么是线程:线程是程序中一个单一的顺序控制流程。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指运行中的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为多线程。线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程原创 2016-05-12 15:10:49 · 919 阅读 · 0 评论 -
【多线程-Sleep()和Interrup()方法】
一. Sleep()阻塞线程休息方法的使用情况:Thread.Sleep()方法用于使当前线程暂停指定的时间,然后去执行流程语句。 // 参数: // millisecondsTimeout: // 线程被阻塞的毫秒数。 指定零 (0) 以指示应挂起此线程以使其他等待线程能够执行。 指定 System.Threading.Time原创 2016-05-12 16:10:03 · 1287 阅读 · 0 评论 -
【多线程-前台线程和后台线程】
一.前台和后台线程的区别:所有前台线程执行完毕以后,应用程序的进程结束。而不论后台进程是否结束。默认情况下新建的线程为前台线程,可以使用Thread.IsBackground属性查看 // // 摘要: // 获取或设置一个值,该值指示某个线程是否为后台线程。 // // 返回结果:原创 2016-05-12 16:43:17 · 1282 阅读 · 0 评论 -
【多线程-Join()方法】
一. 什么时候使用Join()方法:当一个线程操作需要等待另一个线程执行完毕之后才能继续进行时,使用Join()方法。二. 使用:比如这里我们要在subthread线程执行完毕,然后才能执行主线程:在下面代码中会出现主线程执行完了,subthread线程还在执行,与我们所要求的想反。 class Program { private static T原创 2016-05-12 17:11:08 · 2825 阅读 · 1 评论 -
【多线程-Suspend()和Resume()方法】
Suspend()用于挂起线程,Resume()用于继续执行已经挂起的线程。可以使用这两个方法进行线程的同步,和Start()方法有些类似的是:在调用Suspend方法后不会立即的停止,而是执行到一个安全点后挂起。 class Program { private static Thread subthread ; private static st原创 2016-05-19 16:19:45 · 8437 阅读 · 0 评论 -
【多线程-Abort()方法强制退出线程】
线程的退出比较特殊,使用的是Abort()方法进行强制退出,会抛出一个线程异常来结束该线程的执行任务。class Program { private static Thread subthread ; private static string name =""; static void Main(string[] args)原创 2016-05-19 16:31:15 · 7018 阅读 · 2 评论 -
【多线程-线程同步】
线程同步:协调多个线程间的并发操作,以获得符合预期的,确定的执行结果,消除多线程应用程序的不确定性.使用线程的同步:可以保护资源同时只能由一个线程访问,一般采取的措施是获取锁,释放锁。即锁机制;可以协调线程的访问顺序,即某一资源只能先由线程A访问,再由线程B进行访问。 class Program { private static Thread subthrea原创 2016-05-19 18:12:05 · 3697 阅读 · 0 评论