P18 线程同步机制
通过 队列 + 锁 来保证安全
锁机制:synchronized
P19 不安全例子
1)3个线程买票
2)两个人取钱
账户类
银行取钱类
Super要写在构造器第一行,继承的是thread类
构造器中的name赋值到thread.name
Main中:
运行结果
直接将账户的钱取成了负数
3)arraylist
每次循环都开一个线程,但是最后线程数目不是10000
P20 同步方法(关键字synchronized)
1)在买票的例子中,对方法buy加上锁,就能实现让他们排队买票(要一人买一次)
2)因为两个取用的是同一个账户中的钱,因此锁住这个账户(同步块)
具体操作:锁住账户后,synchronized(account),再将代码放进块中
3)同样锁住list,最终打印结果就是10000了