package com.thread.lock;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
public class SynchronizedDemo {
private static List<Integer> list = new ArrayList();
public static void main(String[] args) {
ExecutorService executorService = Executors.newCachedThreadPool();
executorService.execute(new Thread01());
executorService.execute(new Thread02());
}
static class Thread01 implements Runnable {
@Override
public void run() {
SynchronizedDemo.add();
}
}
static class Thread02 implements Runnable {
@Override
public void run() {
SynchronizedDemo.print();
}
}
public static void add(){
synchronized (list) {
for (;;){
try {
TimeUnit.MILLISECONDS.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("添加任务");
}
}
}
public static void print() {
synchronized (list) {
for (;;){
try {
TimeUnit.MILLISECONDS.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("打印任务");
}
}
}
}
Synchronized 的使用
最新推荐文章于 2023-09-07 18:21:41 发布