66问答网
所有问题
JAVA中多线程执行的时间或是顺序的问题
为什么有时候在MIAN()方法执行完了,才开始执行子线程.而有时是MAIN()方法还没执行完,子线程就开始执行了.还有时是这个线程我已经让步了,却没有执行下一个线程,还是执行的这个线程.这要怎么解释?
举报该问题
其他回答
第1个回答 2013-08-05
关于JAVA中多线程的问题:可以说是时间问题导致了程序运行后出现多种状况的原因..(现在只谈在一个CPU下运行JAVA程序的效果.)因为当START一个新的子线程后,MAIN方法中的程序执行到这时CPU开始切换,但是这种切换是随即的,跟时间有关,比如你第一次执行可能CPU在MAIN方法中执行到12345停了,然后执行子线程的11 12 13 14 15.。。一段时间后再切换回主线程。所以你看到程序的执行结果不一样。就是因为CPU切换线程(这时候应该叫进程吧)的时间不一样.。这虽然有顺序切换,但也不是你想的那样切回主1次再切回子1次这样来回切..而是0.001秒切一次可以这样比喻.
第2个回答 2013-08-05
把你的代码贴出来看看
相似回答
关于
JAVA多线程问题
: 下面这段主程序中,
执行
后tc.getNum程序为何总是会...
答:
在Java多线程中,执行的先后顺序在不做任何控制的情况下并不是根据代码的先后顺序执行的
。因为在线程的处理中,单个线程本身在一个线程的周期的时间并不是一样的,所以顺序并不是代码的先后执行顺序决定的。如果你想要tc线程在最后执行,你可以在t1.start()之后加入t1.join();加入这个方法之后,代码上...
JAVA多线程
优先级
运行顺序的问题
答:
首先说 线程优先级,并不能保证优先级高的先运行,也不保证优先级高的更多的分配CPU时间
,只是对系统的建议而已,到底运行哪个,是操作系统决定的,都不是java说了算的。另外java只能保证在线程内部看起来是顺序执行你的代码的,并不能保证从其他线程看来这个是按照你编码顺序执行的。。
求教一个关于
JAVA多线程的问题
答:
也有可能先输出,run后输出end of methord
。。建议你去看下线程的4个优先级别,但记住一点,优先级高的不一定就比优先级差的要先执行。这个高低指的是走这个线程的概率比较大
java多线程问题
答:
回答这个问题需要先弄清楚线程的概念和线程的生命周期
。线程:是指程序代码的一次执行,是动态的过程。楼主在定义OneTh这个实现Runnable接口类的时候肯定复写了他的run()方法。onet1和onet2是两个线程,也就是说虽然他们的run()方法相同,但是是执行了两次的。计算机中CPU的调度过程:现在的电脑看上去能...
java
使用
线程的问题
?
答:
多线程
可以增进程序的交互性,提供更好的能力和功能、更好的GUI和更好的服务器功能。给二个例子说明如下:例一:利用多线程并行机制可以很好地解决交互式网络程序中的许多
问题
,如:大量的网络文件资源的读写、用户输入响应、动画显示等问题不需要CPU的多少
时间
;而耗时的复杂计算通常并不需要立即响应...
Java多线程问题
:为什么每次
执行的
结果都不一样
答:
java中的多线程是
抢占式,谁抢到了cpu,cpu才会给他分配
时间
片,所以每次
执行
结果不一样
大家正在搜
多线程锁的执行顺序问题
线程池如何保证线程执行顺序
线程在main方法中的执行顺序
多线程顺序执行
java多线程执行顺序
多线程按照顺序执行任务
线程顺序执行的方法
保证线程池的执行顺序
java线程池顺序执行
相关问题
JAVA多线程优先级运行顺序的问题
请问java中多线程的执行顺序是怎样的?
java多个线程执行的顺序是按顺序执行的吗
java 多线程_如何顺序执行多个线程
java 多线程 执行所花时间的问题?
JAVA 多个线程运行时间问题
java多线程问题:多个线程访问同一资源时如何保证线程之间访...
java多线程运行每次结果每次都顺序一样