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
后面的依序排列,字数限制就不说啦,运行结果怎么不对啊,急求解,万分感谢 展开
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
后面的依序排列,字数限制就不说啦,运行结果怎么不对啊,急求解,万分感谢 展开
2个回答
展开全部
你这个有问题吧,看下面代码中的注释
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,结果和程序不符合啊,你的问题在哪里?究竟是什么问题?
展开全部
你这个部报错么 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();//这个感觉没用啊
}
}
应该是
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();//这个感觉没用啊
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询