新手请教:开两个线程,是不是就两个任务可以让他们完全同步开始,齐头并进,而不是顺序执行?

ybaua691661 2012-08-06 04:36:38
我有两个都是很长的循环过程,我想让他们完全同时开始,同时执行.不要等一个执行完了再另一个或者一个执行到半途再另一个.
请教下如果我像下面这样创建两个线程的话,它们会还是顺序执行的?只有等t执行完了,t2才会开始?因为代码上,开辟线程上也是顺序先后?还是说是完全同时间开始?
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim t As Thread
t = New Thread(AddressOf 长循环1)
t.Start()

Dim t2 As Thread
t2 = New Thread(AddressOf 长循环2)
t2.Start()
end sub

另外,线程池是不是也可以开多个的?像下面这样,它的效果是不是也可以同时开始? 如果是的话,用下面这个好还是上面这个好呢?
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
ThreadPool.QueueUserWorkItem(AddressOf 长循环1)
ThreadPool.QueueUserWorkItem(AddressOf 长循环2)
end sub

不好意思,vb.net那边太冷清了.发在这里.
多谢!!
...全文
134 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ybaua691661 2012-08-06
  • 打赏
  • 举报
回复
一个cpu是不是指单核? 也就是说多线程实际上要是多核的cpu 才是"真正的多线程"?谢谢!
bdmh 2012-08-06
  • 打赏
  • 举报
回复
如果你只有一个cpu,线程只能是随机的执行,不可能并行,只有你的cpu数量大于你的线程数量,才有可能并行
bdmh 2012-08-06
  • 打赏
  • 举报
回复
如果你只有一个cpu,线程只能是随机的执行,不可能并行,只有你的cpu数量大于你的线程数量,才有可能并行

110,533

社区成员

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

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

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