packagecom.seven.unsafe;importjava.util.ArrayList;importjava.util.List;importjava.util.concurrent.CopyOnWriteArrayList;//CopyOnWriteArrayList内部提供了线程安全publicclassTestCopyOnWriteArrayList{publicstaticvoidmain(String[] args)throwsInterruptedException{// List list = new ArrayList();CopyOnWriteArrayList copyOnWriteArrayList =newCopyOnWriteArrayList();newThread(()->{for(int i =0; i <10000; i++){// list.add(Thread.currentThread().getName());
copyOnWriteArrayList.add(Thread.currentThread().getName());}}).start();Thread.sleep(3000);System.out.println(copyOnWriteArrayList.size());// System.out.println(list.size());}}
synchronizedpackage com.seven.unsafe;//银行取钱不安全//synchronized:同步代码块,也可以同步方法。保持需要修改的数据安全public class UnsafeBank { public static void main(String[] args) { Account account = new Account(100, "张三"); Bank bank1 = new Bank(account, 50);