java synchronized变量
时间: 2023-11-10 08:00:47 浏览: 90
Java中synchronized正确使用方法解析
5星 · 资源好评率100%
synchronized关键字在Java中用于实现线程同步,确保多个线程对共享资源的安全访问。根据引用中提供的示例代码,synchronized关键字可以用于不同的上下文。
当synchronized作用于静态同步方法时,锁住的是当前类的Class对象。这意味着当一个线程访问该静态同步方法时,其他线程需要等待该线程执行完毕才能访问该方法。示例中的testMethod1和testMethod2都是静态同步方法,因此在不同的线程中调用它们会按照顺序执行。
当synchronized作用于成员变量和非静态方法时,锁住的是当前对象的实例。这意味着当一个线程访问该成员变量或非静态方法时,其他线程需要等待该线程执行完毕才能访问该成员变量或非静态方法。示例中的testMethod1和testMethod2都是非静态方法,因此在不同的线程中调用它们会按照顺序执行。
为了让线程1和线程2并发执行,可以定义两个对象实例分别调用两个方法。这样,线程1和线程2就可以同时执行各自的方法,而不需要等待对方执行完毕。
阅读全文