在C#中关于对线程的理解(含委托

关于对线程的理解 :
举例:
threadDownLoadParameter = new Thread(new ThreadStart(parameterInterface.downParameterLoadData));

new Thread(new ThreadStart(parameterInterface.downParameterLoadData)):这是创建新线程的部分。它使用 Thread 类的构造函数来初始化一个新线程。ThreadStart 委托是一个委托类型,它接受一个无参数无返回值的方法,这个方法通常用于线程的执行体。它引用了 parameterInterface.downParameterLoadData 方法,因为该方法没有参数和返回值,正好符合 ThreadStart 的要求。
parameterInterface.downParameterLoadData:这是指定要在新线程中执行的方法。parameterInterface 是一个对象,而 downParameterLoadData 是该对象的一个方法。这行代码告诉新线程在后台执行 downParameterLoadData 方法。

经典的类似示例是创建一个线程来执行某个计算密集型的任务,以免阻塞主线程,例如:

using System;
using System.Threading;

class Program
{
    static void Main()
    {
        // 创建一个新线程来执行 Calculate 方法
        Thread calculatorThread = new Thread(new ThreadStart(Calculate));
        calculatorThread.Start();

        // 主线程可以执行其他任务
        for (int i = 1; i <= 10; i++)
        {
            Console.WriteLine($"Main thread: {i}");
            Thread.Sleep(100);
        }

        // 主线程和新线程并行执行
    }

    static void Calculate()
    {
        // 在新线程中执行计算密集型任务
        for (int i = 1; i <= 10; i++)
        {
            Console.WriteLine($"Calculator thread: {i}");
            Thread.Sleep(100);
        }
    }
}
//主线程和 calculatorThread 线程并行执行,允许执行不同的任务而不阻塞主线程。这是多线程编程的一个典型用例。

如有不对 ,请指正。感谢感谢
ps:C#的委托我可以理解成一个容器吗? 里边存放了一些方法,当激活这个委托时,就执行里边的方法?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值