猿问

关于多线程的问题

<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>

茅侃侃
浏览 511回答 2
2回答

犯罪嫌疑人X

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

慕田峪9158850

严格来说,没有同时运行的概念。 首先,CPU限制了可以并行进行的线程数。另外,操作系统的线程调度机制也会影响到线程的执行顺序。
随时随地看视频慕课网APP
我要回答