哪个是主线程

zys_619 2016-05-07 10:17:21
想请问大家Thread thread = new Thread(new ThreadStart(Threadin));建立的到底是主线程还是子线程
还有thread.sleep();为什么要使主线程休眠一定时间呢,有什么意义?
...全文
319 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Main- 2016-06-06
  • 打赏
  • 举报
回复
Tread.Sleep()方法是设置当前线程睡眠时间的,主线程和子线程都可以调用
gw6328 2016-06-06
  • 打赏
  • 举报
回复
你开的是子线程。 Thread.Sleep()是当前线程吧。所以哪个线程都可以Sleep()一下。
月影 2016-06-06
  • 打赏
  • 举报
回复
引用 10 楼 zys_619 的回复:
请问thread.sleep的意义何在?就是说为什么某些线程需要暂停呢?
一般来说,大部分情况下都不应该调用Thread.sleep。需要调用的情况可能是: 你做重试,调用了一个webAPI超时了,那么你就sleep 1秒钟,然后重新调用。当然了这种情况可以用timer来实现。不过在不考虑性能影响的情况下,使用sleep让代码可读性更高一些。
zys_619 2016-05-10
  • 打赏
  • 举报
回复
请问thread.sleep的意义何在?就是说为什么某些线程需要暂停呢?
  • 打赏
  • 举报
回复
一般来说应用程序里面创建UI的线程就是主线程,其他new出来的就是子线程
月影 2016-05-09
  • 打赏
  • 举报
回复
引用 8 楼 zys_619 的回复:
[quote=引用 7 楼 liaoxing168 的回复:] 一般来说应用程序里面创建UI的线程就是主线程,其他new出来的就是子线程
请问thread.sleep是只能暂停主线程吗?还是都可以[/quote] 哪个线程调用了Thread.Sleep,那个线程就进入睡眠状态了。跟是不是主线程没有一毛钱关系。
zys_619 2016-05-09
  • 打赏
  • 举报
回复
引用 7 楼 liaoxing168 的回复:
一般来说应用程序里面创建UI的线程就是主线程,其他new出来的就是子线程
请问thread.sleep是只能暂停主线程吗?还是都可以
  • 打赏
  • 举报
回复
引用 5 楼 zys_619 的回复:
为什么我在有的书上看到Thread thread = new Thread(new ThreadStart(Threadin)); thread.Start();是启动主线程呢?
哪本书呢? 过分纠结是非是非常幼稚的行为。一切概念都有其相对性、都有场景。你要理解一个概念,就要用人家作者的逻辑去理解,而不是用自己的逻辑去理解。所以我们说一个人“幼稚”,往往是因为他用自己的逻辑去理解别人说的东西。因此你一看:如果纠结于静态固定的概念去“死扣字眼儿”,这就得上了幼稚毛病。 要治疗幼稚病很简单,就是用对方的逻辑来理解对方。假设对方把 thread 叫做主线程,那么执行这两条语句的线程又是不是主线程呢?提出这个问题,就相当于找到解药了。
zys_619 2016-05-07
  • 打赏
  • 举报
回复
引用 3 楼 zys_619 的回复:
[quote=引用 1 楼 feiyun_Web 的回复:] 主线程有相对性。 这段代码的执行者,可以理解为主线程,new的线程是子线程。 线程暂停的目的“在未来的多少毫秒内我不参与CPU竞争”。 http://blog.csdn.net/lvxiangan/article/details/8999425
请问sleep暂停的是主线程还是子线程?还是可以指定任意线程?[/quote]请问thread.sleep();是暂停子线程 Thread.sleep();是暂停主线程吗。 为什么我在有的书上看到Thread thread = new Thread(new ThreadStart(Threadin)); thread.Start();是启动主线程呢?
我是飞云 2016-05-07
  • 打赏
  • 举报
回复
引用 3 楼 zys_619 的回复:
请问sleep暂停的是主线程还是子线程?还是可以指定任意线程?
Thread thread = new Thread(new ThreadStart(Threadin));
thread.sleep();
Thread.sleep();
注意第二行和第三行的区别。 分别代表哪个对象执行了sleep()方法呢?
zys_619 2016-05-07
  • 打赏
  • 举报
回复
引用 1 楼 feiyun_Web 的回复:
主线程有相对性。 这段代码的执行者,可以理解为主线程,new的线程是子线程。 线程暂停的目的“在未来的多少毫秒内我不参与CPU竞争”。 http://blog.csdn.net/lvxiangan/article/details/8999425
请问sleep暂停的是主线程还是子线程?还是可以指定任意线程?
john_QQ:2335298917 2016-05-07
  • 打赏
  • 举报
回复
new建立的线程一般不是主线程,主线程是进程已启动就开始的线程。sleep表示线程休眠,可以运行其他线程
我是飞云 2016-05-07
  • 打赏
  • 举报
回复
主线程有相对性。 这段代码的执行者,可以理解为主线程,new的线程是子线程。 线程暂停的目的“在未来的多少毫秒内我不参与CPU竞争”。 http://blog.csdn.net/lvxiangan/article/details/8999425

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧