论坛首页 Java企业应用论坛

java中线程到底什么时候启动

浏览 7849 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (11) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-01-13  
应该用join 来保证子线程执行完吧
0 请登录后投票
   发表时间:2009-01-14  
哈,你根本没有办法知道!

当你new一个线程的时候实例化了一个线程,当你start的时候,操作系统也要为它准备资源,然后把它丢到就绪队列里,即便等到当前在CPU的线程让出之后,你这个线程也不一定能立刻运行,操作系统要经历复杂的思想过程(调度算法),直到它认为该你运行了,你就start了。
好像在很多情况先start的线程会先运行,不过这只是好像,可能和先来先服务有关,呃,《操作系统》全忘光了。。
0 请登录后投票
   发表时间:2009-01-20  
main() 是一个特殊的线程,java虚拟机会自己动认出来,其他的线程是子线程,主线程和子线程个走个的,很有可能主线程已经结束,但是子线程还在运行的情况
0 请登录后投票
   发表时间:2009-01-20  
gembler 写道
njuptsoz 写道
icyiwh 写道

结果是正常的如果没有休眠时间则运行过程如下:主线程启动(Main)的执行和子线程的执行在时间上是并行的,不是串行的"测试已结束!"这句可以出现在任何一个子线程的启动之前或者启动之后

同意


同意,too。
这种并行情况下,结果是因环境而异。


我也同意这个观点。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics