在网上没怎么看到好的例题,就知道thread类只能一对一,runnable接口可以多个线程访问一个对象,有没有具体简单的例子介绍一下,我现在感觉都一样啊
可以,但是需要注意线程安全问题,即多个线程同时操作一个对象时,可能会出现数据不一致的问题。
不知道你这个问题是否已经解决, 如果还没有解决的话:/**
实现Runnable接口
*/
public class MyInterface implements Runnable{
private int ticket=100;//成员变量
public void run() {
while(ticket > 0){
System.out.println(ticket-- + "张票已被售卖,售卖窗口为" + Thread.currentThread().getName());
}
}
public static void main(String[] args) {
//创建实例
MyInterface myInterface = new MyInterface();
//以该实例为参数创建三个线程
Thread t1 = new Thread(myInterface,"win1");
Thread t2 = new Thread(myInterface,"win2");
Thread t3 = new Thread(myInterface,"win3");
//启动线程
t1.start();
t2.start();
t3.start();
}
}
结果:
和继承Thread类一样,三个线程共同卖出了100张票!