public class SomeThing {
public static void main(String[] args) throws InterruptedException{
Thread a=new Thread(new Task1());
a.setName("a");
doing();
a.start();
}
static void doing() throws InterruptedException{
String name=Thread.currentThread().getName();
int p=Thread.currentThread().getPriority();
for(int i=0; i<50; i++){
System.out.printf("%-10s__%02d__p%d%n",name,i,p);
if(name.equals("main") && i==20)
Thread.yield(); //***
}
}
static class Task1 implements Runnable{
public void run(){
try{
doing();
}catch(InterruptedException ie){
System.out.println("Task1");
}
}
}
}
预期结果:
当输出"main __20__p5"
以后,
紧接着的一行应该是a开头"a......"
预期结果没达到,为什么?
public static void main(String[] args) throws InterruptedException{
Thread a=new Thread(new Task1());
a.setName("a");
doing();
a.start();
}
static void doing() throws InterruptedException{
String name=Thread.currentThread().getName();
int p=Thread.currentThread().getPriority();
for(int i=0; i<50; i++){
System.out.printf("%-10s__%02d__p%d%n",name,i,p);
if(name.equals("main") && i==20)
Thread.yield(); //***
}
}
static class Task1 implements Runnable{
public void run(){
try{
doing();
}catch(InterruptedException ie){
System.out.println("Task1");
}
}
}
}
预期结果:
当输出"main __20__p5"
以后,
紧接着的一行应该是a开头"a......"
预期结果没达到,为什么?
解决方案 »
- 求JAVA笔试题目
- 关于JAVA图形界面查询的问题
- 如何使用数组实现阿拉伯数字转换成大写中文,比如1340转换成 壹仟叁佰肆拾 ,希望有高手帮忙解决下,急!!!
- 帮忙给个资料了 谢谢 。。。
- 请问compare()&compareTo()方法是否功能上差不多?各有什么优缺点?
- 请问这个关于执行jar文件出现的问题
- 如何创建文件目录
- 请推荐几家用java作开发的公司网站!!!!
- Graphics2D中的DrawString中输出的字体,能够设置字体的宽度和高度吗?
- 郁闷呀,jbuilder4启动不了
- javabean的打包问题
- 多线去读取HashMap时。。。此时对HashMap进行Put()是否安全?
不能保证虚拟机不会再次选到刚刚暂停的线程。
也许就不行了。这种无法确定结果的东西,还是少用。如果你想保证线程会暂停,用sleep(timeout),
它可以保证至少暂停timeout 毫秒。