W3School TIY Editor
W3School 在线教程
改变方向
暗黑模式
public class Main implements Runnable { public static int a, b; public static void main(String[] args) { a = 100; b = 100; // 转账前检查 a 和 b 的总金额 System.out.println("转账前总额: " + (a + b)); // 启动线程进行转账操作 Thread thread1 = new Thread(new Main()); Thread thread2 = new Thread(new Main()); thread1.start(); thread2.start(); // 等待线程执行完成 try { thread1.join(); thread2.join(); } catch (InterruptedException e) { e.printStackTrace(); } // 转账后检查 a 和 b 的总金额 // 金额应与转账前保持一致 System.out.println("转账后总额: " + (a + b)); } public void run() { for (int i = 0; i < 10000000; i++) { transfer(); } } public static synchronized void transfer() { // 随机生成转账金额 int amount = (int) (5.0 * Math.random()); // 在 a 和 b 之间转账 if (a > b) { a -= amount; b += amount; } else { a += amount; b -= amount; } } }