为了账号安全,请及时绑定邮箱和手机立即绑定

关于多线程的问题

关于多线程的问题

C#
茅侃侃 2018-12-12 14:09:39
<P>Thread[]threads=new Thread[linkcount];<BR>for (int i = 1; i &lt;= linkcount; i++)</P> <P>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;threads[i] = new Thread(new ThreadStart(getlink));<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;threads[i].Start();</P> <P>}这样写是同时执行一个功能吗,多线程的运行机制是什么样的啊,我想让它们同时进行,是不是不能用循环啊?给点意见</P>
查看完整描述

2 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

你那个代码,没有问题 对于单核CPU,没有同时 因为都在争用CPU 的时间片 但多核和多CPU 就不同了 Start后,线程就会工作了, 但他们交换数据的时候,容易出现竞争, 如果处理不好,也肯会出现死锁的

查看完整回答
反对 回复 2018-12-16
?
慕田峪9158850

TA贡献1794条经验 获得超7个赞

严格来说,没有同时运行的概念。 首先,CPU限制了可以并行进行的线程数。另外,操作系统的线程调度机制也会影响到线程的执行顺序。

查看完整回答
反对 回复 2018-12-16
  • 2 回答
  • 0 关注
  • 510 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信