C#多线程学习

C#多线程学习:
(一)线程相关概念:
  1)进程:运行中的程序 + 程序所用到的内存和系统资源;

  2)线程:程序的执行流,有专有寄存器(栈指针、程序计数器等),代码区共享。

  3)多线程好处:

  CPU利用率高。

4)多线程坏处:

  线程多-->内存占用多-->需要CPU时间跟踪线程协调和管理-->资源竟用-->多加控制-->造成Bug.

5)相关函数:
  实例:

 1   using System;
 2   using System.Threading;
 3 
 4 namespace ThreadTest
 5 {
 6   class RunIt
 7   {
 8     [STAThread]
 9     static void Main(string[] args)
10     {
11       Thread.CurrentThread.Name="System Thread";
12       Console.WriteLine(Thread.CurrentThread.Name+"'Status:"+Thread.CurrentThread.ThreadState);
13       Console.ReadLine();
14     }
15   }
16 }

 

解析:


在这里,我们通过Thread类的静态属性CurrentThread获取了当前执行的线程。
静态属性:类所有对象所公有的属性,无论创建多少类的实例,静态属性只有一个。
CurrentThread是静态的原因--虽多线程同时存在,但某一时刻,CPU只执行一个线程。

Thread类有几个至关重要的方法,描述如下:
Start():启动线程;
Sleep(int):静态方法,暂停当前线程指定的毫秒数;
Abort():通常使用该方法来终止一个线程;
Suspend():该方法并不终止未完成的线程,它仅仅挂起线程,以后还可恢复;
Resume():恢复被Suspend()方法挂起的线程的执行。


(二)操作进程线程:
(三)生产者&消费者:
(四)自动管理(线程池):
(五)自动管理(定时器):
(六)互斥关系:

原文地址:https://www.cnblogs.com/xuejianhui/p/2689009.html