第九周学习总结&实验总结

一、火车站售票程序模拟

   (1)总票数1000张;
   (2)10个窗口同时开始买票;
   (3)买票过程中延时一秒;
   (4)不能出现一票多卖或卖出负数号票的情况;

实验源码:

package Orange;

class MyThread implements Runnable{
    private int ticket = 1000;
    public void run() {
        for(int i=0;i<10000;i++){    
            synchronized(this){    //给代码加锁,使其按顺序输出
            if(ticket>0) {
                try {
                    Thread.sleep(1000);
                }catch(Exception e){
                    e.printStackTrace();
                }
                System.out.println(Thread.currentThread().getName()+"卖票一张;ticket="+ticket--);
            }
        }
      }
    }   
}
public class Saleticket {
       public static void main(String args[]) {
           MyThread my = new MyThread();
           Thread s1=new Thread(my,"窗口1");
           Thread s2=new Thread(my,"窗口2");
           Thread s3=new Thread(my,"窗口3");
           Thread s4=new Thread(my,"窗口4");
           Thread s5=new Thread(my,"窗口5");
           Thread s6=new Thread(my,"窗口6");
           Thread s7=new Thread(my,"窗口7");
           Thread s8=new Thread(my,"窗口8");
           Thread s9=new Thread(my,"窗口9");
           Thread s10=new Thread(my,"窗口10");
                  s1.start();
                  s2.start();
                  s3.start();
                  s4.start();
                  s5.start();
                  s6.start();
                  s7.start();
                  s8.start();
                  s9.start();
                  s10.start();
       }
}

运行结果:

二、总结

多线程

1、继承Thread类

class 类名称 extends Thread{         //继承Thread类
       属性···;                                   //定义属性
       方法···;                                   //定义方法
       public void run(){
                 线程主体;                     //覆写Thread类中的ru()方法,此方法是线程的主体
       }
}

2、由于线程的运行需要本机操作系统支持,所以启动多线程时必须通过start()方法启动,而不能直接调用run()方法。
3、实现Runnable接口

class 类名称 implements Runnable{
    属性···;
    方法···;
    public void run(){   //覆写Runnable接口中的run()方法
        线程主体;
    }
}

4、继承Thread类与Runnable接口的区别
1)继承Thread类不能资源共享,而Runnable接口可以。

猜你喜欢

转载自www.cnblogs.com/chixue/p/11734400.html