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");
        }
    }
相关推荐
粟悟饭&龟波功31 分钟前
Java—— ArrayList 和 LinkedList 详解
java·开发语言
冷雨夜中漫步38 分钟前
Java中如何使用lambda表达式分类groupby
java·开发语言·windows·llama
a4576368761 小时前
Objective-c Block 面试题
开发语言·macos·objective-c
Cai junhao1 小时前
【Qt】Qt控件
开发语言·c++·笔记·qt
uyeonashi1 小时前
【QT系统相关】QT网络
开发语言·网络·c++·qt
程序猿小D2 小时前
第27节 Node.js Buffer
linux·开发语言·vscode·node.js·c#·编辑器·vim
王子文-上海2 小时前
大数据实时风控引擎:Spark Streaming、Kafka、Flink与Doris的融合实践
c#·linq
武昌库里写JAVA2 小时前
【微服务】134:SpringCloud
java·开发语言·spring boot·学习·课程设计
yaoxin5211233 小时前
105. Java 继承 - 静态方法的隐藏
java·开发语言·jvm
我命由我123453 小时前
嵌入式 STM32 开发问题:烧录 STM32CubeMX 创建的 Keil 程序没有反应
c语言·开发语言·c++·stm32·单片机·嵌入式硬件·嵌入式