问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java线程问题,为什么我的程序得不到想要的结果(线程1先运行结束,才到线程2运行,可结果不是这样)

发布网友 发布时间:2022-04-21 10:29

我来回答

4个回答

热心网友 时间:2022-04-21 11:59

优先级不准?你理解什么叫线程优先级吗?
线程你只要不告诉它等待,它是不会等其他线程先结束的。什么是线程,线程天生就是并行运行分支,哪怕你给它最低的优先级,那它也只是在同一时刻相比其他线程被执行的几率较低,而完全没有道理停下来等待。

如果你要让它等待,有很多办法,例如,最简单:
public class Test extends Thread {
private static Object lock = new Object();
public static void main(String[] args) {
try {
Test p1 = new Test();
Test p2 = new Test();
p1.setName("线程1");
p2.setName("线程2");
p1.setPriority(MAX_PRIORITY);
p2.setPriority(MIN_PRIORITY);
p1.start();
while (p1.getState() != Thread.State.TERMINATED);
p2.start();
} catch (Exception e) {
e.printStackTrace();
}
}

public void run() {
for (int i = 0; i <= 5; i++) {
System.out.println(getName() + " ");
}
}
}

热心网友 时间:2022-04-21 13:17

public class PriorityTest extends Thread {

public static void main(String[] args) {
try {
PriorityTest p1 = new PriorityTest();
PriorityTest p2 = new PriorityTest();
p1.setName("线程1");
p2.setName("线程2");
p1.setPriority(MAX_PRIORITY);
p2.setPriority(MIN_PRIORITY);
p2.start();
p1.start();
} catch (Exception e) {
e.printStackTrace();
}
}

public void run() {
for (int i = 0; i <= 5; i++) {
System.out.println(getName() + " ");
}
}

}
是不是少了Test了..我这样运行起来正确的啊..是都先1再2的

热心网友 时间:2022-04-21 14:51

把Priority 发出来看下..

热心网友 时间:2022-04-21 16:43

看来还是没学到家,多看点书或者视频吧。
关于java多线程的疑问,为何单步没问题的程序去除断点后运行就会有问题...

用测试类跑的吧?测试类的主线程结束之后,容器就直接关掉了,你开的那些线程已经没有运行环境了,所以你让主线程等下在结束,容器保持开启状态,其他线程才能执行完;这个问题在程序正常启动的时候是不存在的。

为什么我的java多线程程序是执行完一个再到另外一个的???而不是同时...

Runer1 Thread: 37 Runer1 Thread: 38 Runer1 Thread: 39 Runer1 Thread: 40 Runer1 Thread: 41 Runer1 Thread: 42 Runer1 Thread: 43 Runer1 Thread: 44 Runer1 Thread: 45 main Thread ---1 main Thread ---2 main Thread ---3 main Thread ---4 main Thread ---5 main ...

java中,一个运行的线程什么状态是它的结束

线程有四种状态,任何一个线程肯定处于这四种状态中的一种:1) 产生(New):线程对象已经产生,但尚未被启动,所以无法执行。如通过new产生了一个线程对象后没对它调用start()函数之前。2) 可执行(Runnable):每个支持多线程的系统都有一个排程器,排程器会从线程池中选择一个线程并启动它。当一个线程...

JAVA 的线程这块咋整啊,咋也学不明白啊~~

只有在多CPU 的计算机或者在网络计算体系结构下,将Java程序划分为多个并发执行线程后,同时启动多个线程运行,使不同的线程运行在基于不同处理器的Java虚拟机中,才能提高应用程序的执行效率。另外,如果应用程序必须等待网络连接或数据库连接等数据吞吐速度相对较慢的资源时,多线程应用程序是非常有利的。基于Internet的应用...

JAVA线程的题目 求大神解答

1、线程的实现方式有两种一种是继承Thread一种是实现Runable。2、优先级设置和获取的示例如下:3、执行结果 线程根据优先级执行并不根据调用代码的先后。

java运行后,进程不结束,怎么办?

此种情况下是因为有线程尚未结束。一般有下面几种情况:使用了定时器:java.util.Timer。定时器在运行时,程序是无法结束的,需要cancel才可以。使用图形界面。比如new JFrame()并显示后,需要通过setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE)设置JFrame的关闭行为为销毁,这样才能保证界面线程被清掉...

java.多线程情况下,我的main方法运行结束了,到run方法的代码还没执行...

main本质上也是属于一个线程,当所有线程都执行完成了JVM才会退出,所以针对你的问题,答案是: 如果main方法运行结束了,但是run没有执行结束,那么main会终止,但是run不会终止。

如何正确结束Java线程

1. 使用退出标志终止线程 当run方法执行完后,线程就会退出。但有时run方法是永远不会结束的。如在服务端程序中使用线程进行监听客户端请求,或是其他的需要循环处理的任务。在这种情况下,一般是将这些任务放在一个循环中,如while循环。如果想让循环永远运行下去,可以使用while(true){……}来处理。...

java 线程,while()括号中的判断为false为什么还会执行while循环体呢...

这个问题要看几率 买彩票中500W的几率能达到你想要的效果,呵呵 问题主要是这样的:这个和你调用sleep基本上没多大关系 main线程里面一开始就启动了子线程,这时候2个线程同时运行,去抢占CPU时间片 大多数时候,子线程一直执行,不停的打印,当子线程执行到下面这条语句:System.out.println("---" + ...

Java中的线程同步与异步如何理解?

另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
开关后面是L、L1、L2怎么接线呢? 以掌声为话题的作文!600字!!!初中的水平作文 望亭到无锡硕放经发七路怎么走 ...例如深大的是。370/170.他们这两个分数是怎么算的?这两个分数分别满... 专插本2B的分数线是看学校定的么? 玩nba2k23手游影响学习 什么是分子式,实验室,最简式 请问一下民生信用卡过期了要注销吗 实验式和分子式的区别 ...确定拿不到学位证了。可以拿到毕业证。家里人想让去澳大利... 深圳大街上办电信卡给100元什么情况? 电信大牛卡和日租卡可以去实体店办理吗 实体店可以办理电信米粉卡吗? 自己去手机店办的电信卡可以绑定家里的宽带吗 如果菠萝就是凤梨,那凤梨酥为什么不叫菠萝酥??? 菠萝酥,请问达人们哪有卖呀 菠萝酥乳酪蛋糕怎么做 宇通客车刹车气路结构 菠萝酥的酥皮怎么做 菠萝酥买什么意思? 谁有韩版搞笑一家人的中文配音版???发邮箱 谁有搞笑一家人(中文配音版)下载地址 跪求!拜托了各位 谢谢 《搞笑一家人1》韩国版国语配音全集,在哪里可以看到? 谁知道哪里可以看到韩剧搞笑一家人的国语配音版。第一部全集好像167 谢谢大家 电脑上的del是哪个键 电脑DEL键是什么用 为什么给别人发信息会出现风险提示? 世界最奢侈的衣服品牌是? 奢侈品牌排行榜 为什么我高中学习努力了,还得不到想要的结果,甚至更差 什么电话卡的信号好呢 篮球基本战术都有什么 1.篮球的进攻战术有哪些,防守战术有哪些,试着举例说明并作简单叙述... 打篮球的战术或技巧 篮球最基本的战术是什么? 打篮球比赛中常用的基本技战术中哪些属于防守动作? 怎么样下载一个闹钟 想下载个闹钟的App,哪个比较好? 盘点电影中的智能机器人,你看过多少 电影有哪些机器人 有关机器人的电影都有哪些? 我要下栽闹钟 微视换的王者皮肤怎么弄到里? 帮我下载一个五点半的闹钟 为什么电影中的军事机器人都那么厉害?看完秒懂… 机器人有关的电影有哪些 推荐几个上海顶级的国企 使人感到愉快的声音为 為什么音樂使人愉快 能使人快乐的方法