线程

线程 :程序的执行路径;线程是轻量级进程,使用线程节省了CPU周期的浪费,同时提高了应用程序的效率;
线程是一个程序内部的顺序控制流,一个进程里面有一个主方法main方法。是一个进程里面不同的执行路径;

先看下例子:

using System;
using System.Threading;
namespace MultithreadingApplication
{
    class ThreadCreationProgram
    {
        public static void CallToChildThread()
        {
            Console.WriteLine("Child thread starts");
            //线程暂停 5秒
            //Thread.Sleep(5000);
            Console.WriteLine("Child thread resumes");
        }
        static void Main(string[] args)
        {
            Console.WriteLine("In Main:Creating the Child thread");
            Thread childThread = new Thread(new ThreadStart(CallToChildThread));
            childThread.Start();  //开始线程
            //childThread.Abort();  //中止线程
            Console.ReadKey();
        }
    }
}

多线程实践:

Thread wordthread = new Thread(WordThread);
wordthread.Start();

Thread winthread = new Thread(WinThread);
 winthread.Start();

Thread excelthread = new Thread(ExcelThread);
excelthread.Start();
...

wordthread.Join();  //阻塞调用线程,直到该线程终止为止
winthread.Join();
excelthread.Join();
...
private void WordThread()
{
	Word判分的方法;
}
private void WinThread()
{
	Win判分的方法;
}
private void ExcelThread()
{
	Excel判分的方法;
}
...

我用单线程也可以实现功能,那为什么要用多线程?

多线程出现的原因:为解决负载均衡问题,充分利用CPU资源,提高CPU的使用率,采用多线程的方式去同时完成几件事情而不相互干扰。为了处理大量的IO操作时或处理需要花费大量的时间等问题;

多线程的好处:
1、使用线程可以把占据时间长的程序中的任务放到后台处理;
2、用户界面更加吸引人,这样比如用户点击了一个按钮去触发某件事件的处理,可以弹出一个进度条来显示处理的进度;
3、提高程序的运行效率;

多线程的缺点:
1、大量线程会影响性能,因为操作系统需要在它们之间切换;
2、更多的线程需要更多的内存空间,占据较多内存空间;
3、线程中止需要考虑对程序运行的影响;
4、通常块模型数据在多个线程间共享,需要防止线程死锁情况的发生;

评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值