C# 多线程编程,这些錘子经典案例你都会吗?

后端 / 8204人浏览 / 0人评论


作为一名C#开发者,掌握多线程编程是必不可少的技能。在C#中,我们可以使用System.Threading命名空间下的线程相关类来实现多线程。

今天,我们就来看几个C#多线程的典型案例:

案例1:继承Thread类

最简单的多线程编程,就是继承Thread类,并重写Run()方法。例如:

csharp
class MyThread : Thread 
{
    public override void Run()
    {
        Console.WriteLine("Hello from thread!");
    }
}

然后在Main()中启动线程:

csharp 
Thread t = new MyThread();
t.Start();

案例2:实现IRunnable接口

如果不想继承Thread类,我们可以实现IRunnable接口,如:

csharp
class MyRunnable : IRunnable 
{
    public void Run()
    {
        Console.WriteLine("Hello from IRunnable!");
    }
}

然后将IRunnable实例传给Thread:

csharp
IRunnable r = new MyRunnable();
Thread t = new Thread(r.Run);
t.Start();

案例3:使用线程池

系统线程池可以运行我们提交的方法,而无需手动创建线程。使用方法如下:

csharp
ThreadPool.QueueUserWorkItem(o => 
{
    Console.WriteLine("Hello from thread pool!"); 
});

以上就是C#中常见的几种多线程编程方式。熟练掌握它们,你就基本上称得上是C#多线程高手了!希望通过这些案例,你可以加深对C#多线程的理解,在以后的开发中运用自如。

如何,有没有觉得多线程编程也不算很难?赶快实践起来吧!