您的位置:首页 > 其它

Runnable可以实现资源共享但Thread不能实现资源共享?不,Thread能!

2015-04-28 20:47 288 查看
很多人说Thread类不能共享资源,其实并不是不能,只是不适合,不信看这个买票程序

class MyThread extends Thread{

Ticket ticket; //注意,此ticket是一个类,不是int

public MyThread(Ticket ticket){

this.ticket=ticket;

}

public void run(){

for(int i=1;i<=100;i++){

synchronized(ticket){

if(ticket.num>0)

System.out.println("还剩"+(--ticket.num)+"张票");

}

}

}

}

class Ticket{

int num=100;

}

public class Test{

public static void main(String[] args){

Ticket ticket=new Ticket();

MyThread mt1=new MyThread(ticket);

MyThread mt2=new MyThread(ticket);

mt1.start();

mt2.start();

}

}

我认为之所以不适合只是因为麻烦而已,并没有很大影响
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: