永发信息网

请教: 通过继承Thread类实现多线程,但是执行结果为什么体现不出多线程?

答案:3  悬赏:70  手机版
解决时间 2021-02-10 09:39
代码:
public class ThreadDemo9_2{

public static void main(String args[]){
new TestThread().start();
for(int i=0;i<10;i++){
System.out.println("main run");
}
}
}
class TestThread extends Thread{
public void run(){
for(int i=0;i<10;i++){
System.out.println("TestThread run");
}
}
}

执行结果:
main run
main run
main run
main run
main run
main run
main run
main run
main run
main run
TestThread run
TestThread run
TestThread run
TestThread run
TestThread run
TestThread run
TestThread run
TestThread run
TestThread run
TestThread run
最佳答案
这个就是时间片的问题了
楼主学过操作系统的话应该明白,cpu同一时刻只能给一个线程使用,而且时间是一定的。所以这两个线程就会是你一个时间片 我一个时间片 但对一一个时间片来说可以执行for中的几次循环 所以不是楼主想象中的那个一个main run再打印一个TestThread run
全部回答
已经实现了线程 只是的循环的次数较少,在计算机的一个时间片就执行完了所有循环 增加到100以上就好了
这个是操作系统的调度造成的,两个线程是并发执行的,没有必然的main在前,thread在后的关系,是随机的,你看thread 3就在main 3前面。具体有的时候可能执行了两次print操作,有的时候只有一次,这个是由中断造成的,线程执行的过程中可能被其他优先级高的线程中断。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
龙岗区水上运动协会(东方明珠城游泳池)地址在
武昌火车站到武汉火车站想早上坐最早一班的54
一些放久的橙子上,常会长出灰绿色斑块.这些
利泰仙女湖店广汽丰田地址在哪,我要去那里办
怎么给五脏六腑排毒 五脏六腑排毒时间表
丽湖花园游泳池地址好找么,我有些事要过去
韩式汗蒸养生馆NO.321地址在什么地方,想过去
跟女朋友异地恋每天晚上打电话不知道聊什么怎
想在剑网三里买个号但是类似“分离”“重置”
请问福字上面的字是什么字 求大神
沙煌体育游泳馆(锦龙名苑馆)地址有知道的么?
一千零一乘五又十三分之三加一百九十八除以一
铭炜广告地址在哪,我要去那里办事
含有动词的短语,如果主词是第三人称单数,短
康达尔游泳池(康达尔游泳池)地址有知道的么?
推荐资讯
1976年5月9号是什么命。五行八字!
元天科技大楼停车场地址有知道的么?有点事想
太康车站有去驻马店的车没?都是几点的?知道
如何清除软包门上的污垢
西湖社区居委会地址有知道的么?有点事想过去
上海赢产现代科技产业园这个地址在什么地方,
大地加油站(通港路天湖岩山东北路南)地址在什
画面最好的模拟飞行,PS4做得到吗
南京铁路计算机工程公司扬州分公司怎么去啊,
我想买一只话铜,不知道和我的音响相配不?
正宇二手车地址在什么地方,想过去办事
奉天一两光绪元宝真品为什么这么值钱
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?