首页 > Windows开发 > 详细

c# 大白话告诉你Thread的Sleep和Join的区别

时间:2019-11-01 13:12:28      阅读:98      评论:0      收藏:0      [点我收藏+]

我们的程序默认会有两个线程,一个是主线程,一个是负责垃圾回收的线程。如果代码不使用多线程,就只有主线程这一条干道。
1.在主线程中调用Thread.Sleep(1000),表示主线程阻塞自己1秒。
2.在主线程中使用子线程调用Join()方法,表示子线程告诉主线程你需要阻塞一会,直到我完成任务。
两者虽然都是阻塞主线程,但是,一个是主线程自己阻塞自己,另一个是子线程阻塞主线程。

        private void Test()
        {
            Thread.Sleep(1000);//此处主线程阻塞1秒

            var thread = new Thread(new ThreadStart(() =>
            {
                //模拟执行3秒
            }));
            thread.Start();
            thread.Join();//此处主线程阻塞3秒
        }

 

c# 大白话告诉你Thread的Sleep和Join的区别

原文:https://www.cnblogs.com/subendong/p/11776100.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!