- package Thread.lianxi;
- class tick extends Thread {
- private static int ticket = 100;//static修饰成员变量,当类加载的时候,它就会被加载的共享数据区.
- //[color=Red]也就是说它是该类多个对象要共享的数据(也可以理解成多个对象指向同一个变量),当对象调用时,直接从共享数据区找到它拿过来用就行了.[/color]
- @Override //如果不定义成static 不同对象会有自己的ticket, 买票的时候会出现重复的情况(买到同一张票)
- public void run() {
- // TODO Auto-generated method stub
- while(true){
- if (ticket>0) {
- System.out.println(tick.currentThread().getName() + "买出::"+ticket--);
- }
- }
- }
- }
- public class ThreadTicketDemo {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- tick t1 = new tick();
- tick t2 = new tick();
- tick t3 = new tick();
- tick t4 = new tick();
- t1.start();
- t2.start();
- t3.start();
- t4.start();
-
- }
- }
复制代码 |