雪小影
2015-09-11 02:15
采纳率: 77.8%
浏览 4.5k

C#多线程必须加Thread.Sleep()语句么?

a= new Thread(new ThreadStart(delegate { ThreadMethod(); }));
a.Start();
如题,我采用这个方法开启子线程,然后在子线程中执行耗时的代码,并且调用委托来更新UI界面控件。
但是我发现一个问题就是:比如我在代码里写了往textBox里面添加一些字符串,然后后面接着执行耗时的代码。我发现只有当整个代码执行完了,textBox里才会显示添加的数据。但是如果在每条往textBox里添加数据的后面加一句Thread.Sleep()语句,就可以看到是先往textBox里添加的数据了。这点我觉得很奇怪啊,以前安卓开发也遇到过这样的事情,就是往控件里添加数据展示给用户看,如果不加Threa.Sleep()语句的话,就得等数据全部添加完毕之后才能看到,而不是添加一句显示一句,为什么啊?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

相关推荐 更多相似问题