软件编程
位置:首页>> 软件编程>> C#编程>> C#多线程的Join()方法

C#多线程的Join()方法

作者:農碼一生  发布时间:2022-05-08 23:56:13 

标签:C#,多线程,Join

一、简介

Join方法主要是用来阻塞调用线程,直到某个线程终止或经过了指定时间为止。官方的解释比较乏味,通俗的说就是创建一个子线程,给它加了这个方法,其它线程就会暂停执行,直到这个线程执行完为止才去执行(包括主线程)。

二、代码

class Program
   {
       static void Main(string[] args)
       {
           Thread threadA = new Thread(ThreadMethod);      
           threadA.Name = "線程A";
           Thread threadB = new Thread(ThreadMethod);      
           threadB.Name = "線程B";
           threadA.Start();
           //threadA.Join();    
           threadB.Start();
           //threadB.Join();

for (int i = 1; i <=3; i++)
           {
               Console.WriteLine("我是:主線程,我循環{1}次", Thread.CurrentThread.Name, i);
               Thread.Sleep(300);          //休眠300毫秒                                                
           }
           Console.ReadKey();
       }
       public static void ThreadMethod(object parameter)
       {
           for (int i = 1; i <=3; i++)
           {
               Console.WriteLine("我是:{0},我循環{1}次", Thread.CurrentThread.Name, i);
               Thread.Sleep(300);         //休眠300毫秒              
           }
       }
   }

三、运行结果

因为线程之间的执行是随机的,所有执行结果和我们想象的一样,杂乱无章!但是说明他们是同时执行的。

C#多线程的Join()方法

现在我们把代码中的 ThreadA.join()和ThreadB.join()方法注释取消,首先程序中有三个线程,ThreadA、ThreadB和主线程,首先主线程先阻塞,然后线程ThreadB阻塞,ThreadA先执行,执行完毕以后ThreadB接着执行,最后才是主线程执行。

C#多线程的Join()方法

来源:https://www.cnblogs.com/wml-it/p/14821327.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com