📄 syndemo.java
字号:
package ch7.section7_5;
public class SynDemo {
public static void main(String[] args) {
MyThread2 m1 = new MyThread2();
Thread t1 = new Thread(m1,"t1"); //根据m1创建两个子线程
Thread t2 = new Thread(m1, "t2");
t1.start(); //启动两个线程
t2.start();
}
}
class MyThread2 implements Runnable {
private int shareData = 0; //共享变量
public synchronized void run() {
Thread t = Thread.currentThread();
for(int i=0; i<5; i++) {
int copy = shareData; //将共享变量复制一份到copy
try {
//休眠若干时间
Thread.sleep((int)(Math.random() * 1000));
} catch(InterruptedException e) {
e.printStackTrace();
}
System.out.println("Thread-" + t.getName() + ": copy = " + copy
+ "\tshareData = " + shareData);
shareData ++;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -