多线程的简单介绍

本文介绍了进程和线程的概念,强调它们在操作系统中的角色。进程作为资源分配的基本单位,而线程是运算调度的最小单位,可存在于同一进程内。文章还展示了如何在C#中创建和管理线程,包括启动线程、设置为后台线程、关闭线程以及线程间的数据共享。此外,讨论了多线程的意义,如处理复杂耗时任务和网络通信。
摘要由CSDN通过智能技术生成

进程


*进程(prcess)是计算机中的程序关于某数据集合的一次运行活动
*是系统进行资源分配和调度的基本单位,是操作系统结构的基础
*打开一个应用程序就是在操作系统上开启一个进程
*进程之间可以相互独立,互不干扰。也可以相互访问、操作


线程


*操作系统能够进行运算调度的最小单位
*它被包含在进程之中,是进程中的实际运作单位
*已掉线城指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程
*简单理解:进程就是代码从上到下运行的一条“管道”


多线程


概念
进程里面可以拥有多个线程
我们可以通过代码打开多个线程
语法

在这里插入代码片namespace DuoXianCheng
{
    class Program
    {
        static bool isrunning=true;//结束线程的标识
        static void Main(string[] args)
        {
            #region 语法
            //线程类 Thread
            //需要引入命名空间 using System.Threading;

            //1.申明新线程
            //  执行的代码需要 封装 到函数里面
            //  新线程 将要执行的代码 封装到一个函数中
            Thread t = new Thread(NewThreadLogic);

            //2.启动线程
            t.Start();

            //3.设置为后台线程
            //当前台 主线程 程序结束的时候,后台线程 也会结束
            t.IsBackground=true;//设置为后台线程

            //4.关闭释放一个线程
            //如果线程不是死循环,档程序结束时就相当于关闭了,然后t=null就释放
            //如果线程是死循环,终止线程可以有2种方式
            //4-1 bool标识
            isrunning = false;
            //4-2 通过线程提供的方法
#pragma warning disable SYSLIB0006 // 类型或成员已过时
            t.Abort();
#pragma warning restore SYSLIB0006 // 类型或成员已过时

            //5.线程休眠   1s=1000毫秒
            Thread.Sleep(0);//让目前线程休眠多少毫秒,注意:在哪个线程里用就是哪个线程休眠

            #endregion

            #region 线程之间数据共享
            //多个线程使用的内存是共享的,都属于该进程
            //可以通过加锁的形式避免内存之间出现冲突

            //lock关键字
            //lock(引用类型对象obj){}   
            //当lock出现时,检查obj是否被锁住,否则锁住obj,执行lock语句块;是则等待obj解锁然后锁住obj执行语句块


            #endregion

            #region 多线程的意义
            //可以专门处理一些复杂耗时的逻辑
            //例如,网络通信等
            #endregion
        }

        /// <summary>
        /// 新线程的测试函数
        /// </summary>
        static void NewThreadLogic()
        {
            while (isrunning)
            { 
            Console.WriteLine("这是一个新线程");
            }
            
        }

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值