首页
Java面试
PHP面试
经验笔记
在线工具
首页
在线工具
Java中synchronized 静态方法和非静态方法区别
synchronized静态方法
C语言 在线运行
C++ 在线运行
Java 在线运行
PHP 在线运行
Python 在线运行
Python3 在线运行
Nodejs 在线运行
Ruby 在线运行
Perl 在线运行
Go 在线运行
R语言 在线运行
Lua 在线运行
C# 在线运行
结果显示HTML
清空
点击运行
public class SyncExample2 { public synchronized void func1() { try { Thread.sleep(3000); } catch (InterruptedException e) { throw new RuntimeException(e); } System.out.println("调用第1个synchronized修饰的方法"); } public synchronized void func2(){ System.out.println("调用第2个synchronized修饰的方法"); } public synchronized static void func3(){ System.out.println("调用第3个synchronized修饰的静态方法"); } public static void main(String[] args) throws InterruptedException { SyncExample2 sync2 = new SyncExample2(); Thread t1 = new Thread(new Runnable() { @Override public void run() { sync2.func1(); } }); System.out.println("开启线程1"); t1.start(); Thread t2 = new Thread(new Runnable() { @Override public void run() { sync2.func2(); } }); System.out.println("开启线程2"); t2.start(); Thread t3 = new Thread(new Runnable() { @Override public void run() { sync2.func3(); } }); System.out.println("开启线程3"); t3.start(); } }
运行结果
synchronized静态方法在线测试,这是一个简单方便的Java在线运行工具,支持在线编译、在线调试和在线结果的实时反馈。