C#__自定义类传输数据和前台线程和后台线程

// 前台线程和后台线程

// 默认情况下,用Thread类创建的线程是前台线程。线程池中的线程总是后台线程。

// 用Thread类创建线程的时候,可以设置IsBackground属性,表示一个后台线程。

// 前台线程在主函数运行结束后依旧执行,后台线程在主函数执行完毕后不再执行

// DownloadTool类

cs 复制代码
    class DownloadTool
    {
        public string URL { get; private set; }
        public string Message { get; private set; }

        public DownloadTool(string uRL, string message)
        {
            URL = uRL;
            Message = message;
        }
        public void Download()
        {
            Console.WriteLine("从" + URL + "中下载");
        }
    }

// 主程序

cs 复制代码
    class Program
    {
        static void Main(string[] args)
        {
            DownloadTool download = new DownloadTool("http://www......", "manager");
            Thread t = new Thread(download.Download); 
            t.Start(); // 从http://www......中下载

            // 前台线程和后台线程
            // 默认情况下,用Thread类创建的线程是前台线程。线程池中的线程总是后台线程。
            // 用Thread类创建线程的时候,可以设置IsBackground属性,表示一个后台线程。
            // 前台线程在主函数运行结束后依旧执行,后台线程在主函数执行完毕后不再执行
            var t1 = new Thread(ThreadMain) { IsBackground = true };
            t1.Start();
            Console.WriteLine("Main thread ending now.");

            //Main thread ending now.
            //Thread + stared // 线程同步有一定的时间运行
        }
        static void ThreadMain()
        {
            Console.WriteLine("Thread +" + Thread.CurrentThread.Name + "stared");
            Thread.Sleep(2000);
            Console.WriteLine("Thread +" + Thread.CurrentThread.Name + "end");
        }
    }
相关推荐
坚果派·白晓明7 小时前
【鸿蒙PC三方库移植适配框架解读系列】第八篇:扩展lycium框架使其满足rust三方库适配
c语言·开发语言·华为·rust·harmonyos·鸿蒙
花间相见7 小时前
【PaddleOCR教程01】PP-OCRv5 全面指南:从模型架构到实战部署
开发语言·r语言
小短腿的代码世界7 小时前
Qt 股票订单撮合引擎:高频交易系统的核心心脏
开发语言·数据库·qt·系统架构·交互
光泽雨8 小时前
c#中的“跨界找人”
c#
谙弆悕博士9 小时前
快速学C语言——第16章:预处理
c语言·开发语言·chrome·笔记·创业创新·预处理·业界资讯
yuan199979 小时前
基于 C# 实现的 Omron HostLink (FINS) 协议 PLC 通讯
开发语言·c#
qq_4228286210 小时前
android图形学之SurfaceControl和Surface的关系 五
android·开发语言·python
如竟没有火炬10 小时前
用队列实现栈
开发语言·数据结构·python·算法·leetcode·深度优先
火星papa11 小时前
C# 任务(Task)的基础实现
c#·任务·task
折哥的程序人生 · 物流技术专研11 小时前
《Java 100 天进阶之路》第17篇:Java常用包装类与自动装箱拆箱深入
java·开发语言·后端·面试