A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 宋大人-专注 中级黑马   /  2014-6-16 15:26  /  1527 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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();
               
               
        }
}
是什么原因导致无限循环呀??

4 个回复

倒序浏览
你的if后面没有使用花括号啊!你用花括号将输出语句括起来就可以了!
或者将输出的那个语句放在if后的第一句.
用一句时髦的话"小学生:lol
回复 使用道具 举报
哇,这是多线程吗?好深奥的样子啊
回复 使用道具 举报
看看逗号或者大括号
回复 使用道具 举报
饥渴ing 发表于 2014-6-16 18:51
你的if后面没有使用花括号啊!你用花括号将输出语句括起来就可以了!
或者将输出的那个语句放在if后的第一句. ...

幼儿园还没上完呀:lol
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马