初学C#线程

        多线程是指程序中包含多个执行流,即在一个程序中科院同时运行多个不同的线程来执行不同的任务,也就是允许单个程序创建多个并行的线程来完成各自的任务。

        多线程好处:可以提高CPU的利用率,在多线程程序中,一个线程必须等待的时候,CPU可以运行其他的线程而不是等待。坏处:线程需要占用内存,线程越多占用的内存也救越多;多线程需要协调管理,所以需要CPU时间跟踪线程;线程之间对共享资源的访问会相互影响,必须解决竞用共享资源的问题;线程太多会导致控制复杂,容易产生BUG。

       以多线程机制应用相关的类全部是放在System.Threading命名空间中。

using System;
using System.Threading;


namespace threading
{
    class Program
    {
        [STAThread]//指是应用程序的COM线程模式单元是单线程模式(STA)
        static void Main(string[] args)
        {
            Thread.CurrentThread.Name = "System Thread";
            Console.WriteLine(Thread.CurrentThread.Name + "'Status':" + Thread.CurrentThread.ThreadState);
            Console.ReadLine();
        }
    }
}

我们通过其中提供的Thread类来创建和控制线程,ThreadPool类用于管理线程池等。

Thread类关键方法:

Start() :启动线程;

Sleep(int):静态方法,暂停当前线程指数的毫秒数;

Abort():通常使用该方法来终止一个线程;

Suspend():该方法并不终止未完成的线程,它仅仅挂起线程,以后还可以恢复;

Resume():恢复被Suspend()方法挂起的线程;

原文地址:https://www.cnblogs.com/jingfuluo/p/2983548.html