黑马程序员技术交流社区
标题:
一个线程的实例出错了!
[打印本页]
作者:
吴华二
时间:
2012-3-26 15:32
标题:
一个线程的实例出错了!
public class TestHello implements Runnable {
private int num=10;
public void run(){
for(int i=0;i<50;i++){
if (num >0)
Thread.sleep(1000);
System.out.println(num--);
}
}
public static void main(String[] args) {
TestHello t=new TestHello();
Thread h =new Thread(t);
Thread e=new Thread(t);
h.start();
e.start();
}
}
帮我看下这个代码哪里出错了呢?看了好久也没打到错误...
作者:
孙地豪
时间:
2012-3-26 15:42
Thread.sleep(1000); 捕捉异常试试
作者:
田斌
时间:
2012-3-26 15:58
你的括号是中文的,还有就是加try/catch语句
public class TestHello implements Runnable {
private int num=10;
public void run(){
for(int i=0;i<50;i++){
if
(num >0)
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(num--);
}
}
public static void main(String[] args) {
TestHello t=new TestHello();
Thread h =new Thread(t);
Thread e=new Thread(t);
h.start();
e.start();
}
}
作者:
黄奇耀
时间:
2012-3-26 16:06
/*修饰了run()方法和增加一个变量obj*/
Object obj = new Object();
public void run()
{
for(int i=0; i<50;i++)
{
if(num>0)
{
synchronized(obj)
{
if(num>0)
{
try
{
Thread.sleep(100);
}
catch (Exception e)
{
System.out.println("error");
}
finally
{
System.out.println(Thread.currentThread().getName()+"::"+num--);
}
}
}
}
}
}
作者:
许飞翔
时间:
2012-3-26 17:48
public class TestHello implements Runnable {
private int num=10;
public void run(){
for(int i=0;i<50;i++){
if(num>0)
//if (num >0) 括号是全角的 ,改成半角的就OK了
//Thread.sleep(1000); 这里需要进行异常处理
try{Thread.sleep(1000);} catch(Exception e){}
System.out.println(num--);
}
}
public static void main(String[] args) {
TestHello t=new TestHello();
Thread h =new Thread(t);
Thread e=new Thread(t);
h.start();
e.start();
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2