两种方式实现多线程,分别是继承Thread类或者通过实现Runnable接口来实现
继承Thread类
定义一个类来继承Thread类,在定义的这个类中重写run()方法,然后创建这个类的实例对象,用start启动线程
通过实现Runnable接口
自定义一个类实现接口,在这个类中重写run()方法,然后创建这个类的实例对象,还需要创建Thread类的对象,并且要把实现Runnable接口的类所创建的对象作为参数传递
继承 Thread 类:每个线程完成自己的工作
实现 Runnable 接口:多个线程完成共同的一个任务
线程同步synchronized()与synchronized方法
可以看到同一张票多次被出售,需要解决这个问题,就是在这张票被出售时,其他窗口不能再出售了,这张票开始就相当于公共资源,有没有被出售需要被三个窗口共享知道,这里需要实现同步,有两种解决方式,同步方法或者同步代码块
用同步方法解决
用同步代码块解决