线程重难点
无锁状态,执行方法创建一个锁,创建一个锁记录。每个线程的栈帧会存储锁定对象的markword。用CAS去交换对象数据的markword(原子操作)。LOCK是对象锁,跟Monitor关联,先判断Owner属性,null就绑定只能一个。每个线程都能访问,存在线程安全问题,所以多个线程访问要通过主内存。创建固定大小的线程池,调用一个submit方法,提交任务。存线程内的私有数据,线程间无法访问,线程安全。对象锁,加上票数正常,不会出现超卖问题。判断当前锁记录库,重复,所记录减1。
复制链接