java多线程问题,求解答,谢谢 10

packagecom.jie;classSunThread1extendsThread{publicvoidrun(){for(inti=1;i<=100;i++){Sy... package com.jie;

class SunThread1 extends Thread{

public void run(){
for(int i = 1;i<=100;i++){
System.out.println(Thread.currentThread().getName()+":"+i);
}
}
}
public class TestThread {
public static void main(String[]args){

SunThread1 st = new SunThread1();
st.setName("子线程");
st.run();
Thread.currentThread().setName("主线程");

for(int i = 1;i<=100;i++){
System.out.println(Thread.currentThread().getName()+":"+i);
if(i % 10 ==0){
Thread.currentThread().yield();
}
}

}
}
运行结果
main:1
main:2
main:3
main:4
main:5
main:6
main:7
main:8
main:9
main:10
main:11
main:12
main:13
main:14
main:15
main:16
main:17
main:18
main:19
main:20
main:21
main:22
main:23
main:24
main:25
main:26
main:27
main:28
main:29
main:30
main:31
main:32
main:33
main:34
main:35
main:36
main:37
main:38
main:39
main:40
main:41
main:42
main:43
main:44
main:45
main:46
main:47
main:48
main:49
main:50
main:51
main:52
main:53
main:54
main:55
main:56
main:57
main:58
main:59
main:60
main:61
main:62
main:63
main:64
main:65
main:66
main:67
main:68
main:69
main:70
main:71
main:72
main:73
main:74
main:75
main:76
main:77
main:78
main:79
main:80
main:81
main:82
main:83
main:84
main:85
main:86
main:87
main:88
main:89
main:90
main:91
main:92
main:93
main:94
main:95
main:96
main:97
main:98
main:99
main:100
主线程:1
主线程:2
主线程:3
主线程:4
主线程:5
主线程:6
主线程:7
主线程:8
主线程:9
主线程:10
主线程:11
主线程:12
主线程:13
主线程:14
主线程:15
主线程:16
主线程:17
主线程:18
主线程:19
主线程:20
主线程:21
主线程:22
主线程:23
主线程:24
主线程:25
主线程:26
主线程:27
后面的依序排列,字数限制就不说啦,运行结果怎么不对啊,急求解,万分感谢
展开
 我来答
acherson
2014-11-26 · TA获得超过115个赞
知道小有建树答主
回答量:145
采纳率:100%
帮助的人:116万
展开全部

你这个有问题吧,看下面代码中的注释

SunThread1 st = new SunThread1();
st.setName("子线程");    // 这里设置的子线程名称是“子线程”
st.run();
Thread.currentThread().setName("主线程");    // 这里设置的主线程名称是“主线程”

for(int i = 1;i<=100;i++){
System.out.println(Thread.currentThread().getName()+":"+i);
if(i % 10 ==0){
Thread.currentThread().yield();
}
}

从注释中你设置的子线程名称是“子线程”,怎么你输出的是main,结果和程序不符合啊,你的问题在哪里?究竟是什么问题?

单纯的看_看
2014-11-26 · 超过69用户采纳过TA的回答
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:71.2万
展开全部
你这个部报错么 SunThread1里面没有setname的方法啊
应该是
SunThread1 st = new SunThread1();
Thread.currentThread().setName("子线程");
st.run();
Thread.currentThread().setName("主线程");

for(int i = 1;i<=100;i++){
System.out.println(Thread.currentThread().getName()+":"+i);
if(i % 10 ==0){
Thread.currentThread().yield();//这个感觉没用啊
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式