黑马程序员技术交流社区

标题: 代码问题 [打印本页]

作者: 宋大人-专注    时间: 2014-6-16 15:26
标题: 代码问题
class Thread2 implements  Runnable{
        private String name;
        private int n=100;
        Object obj=new Object();
        Thread2(String name){
                this.name=name;
               
        }
        public void run(){
                while(true){
                        synchronized(obj){
                        if(n>0)
                                try{
                                        Thread.sleep(10);
                                }
                                catch(InterruptedException e){
                                       
                                }
                                System.out.println(Thread.currentThread().getName()+""+name+"****"+n--);
                }
               
                }
        }
}
public class ThreadDemo2{
        public static void main(String args[]){
                Thread2 t1=new Thread2("yihao");
               
                Thread h1=new Thread(t1);
                Thread h2=new Thread(t1);
                h1.start();
                h2.start();
               
               
        }
}
是什么原因导致无限循环呀??
作者: 饥渴ing    时间: 2014-6-16 18:51
你的if后面没有使用花括号啊!你用花括号将输出语句括起来就可以了!
或者将输出的那个语句放在if后的第一句.
用一句时髦的话"小学生:lol

作者: kong7906928    时间: 2014-6-17 00:13
哇,这是多线程吗?好深奥的样子啊
作者: 凡_草    时间: 2014-6-17 00:41
看看逗号或者大括号
作者: 宋大人-专注    时间: 2014-6-17 15:05
饥渴ing 发表于 2014-6-16 18:51
你的if后面没有使用花括号啊!你用花括号将输出语句括起来就可以了!
或者将输出的那个语句放在if后的第一句. ...

幼儿园还没上完呀:lol




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2