第二种线程同步的方式:同步方法;
代码实现:
run方法中调用这个同步方法:
继续回到主程序创建多线程运行,结果是线程安全的;
转换为同步锁即转换成同步代码块写法:
是一样的效果;
再主程序中打印的创建的Runnable接口的实现类RunnableImpl对象地址值和
和创建的多线程中run方法中打印的this对象一样,this对象即就是Runnable接口的实现类RunnableImpl对象;
静态的同步方法:
代码改写:
其中,所访问的成员变量ticket也必须是static静态修饰的,
方法是静态的访问的变量必须是静态的;
静态的同步方法中要是改写成同步代码块用锁对象的方式时候,锁对象必须是当前类的class文件(反射);