1. 加锁:使用的主要方法就是对象的wait(),notify(),notifyAll()三个函数,它们都必须从同步方法(synchronized method)中调用.其中,fetchTask通过调用wait方法,实现了没有任务时则对自己(this)加锁(lock),以让进入的线程等待,
2. 枪机:早期的蛇杆很简单,但是它还是有极大缺陷,由於蛇杆会自由旋转无法固定,所以各地枪匠仍在持续改良发射机构,在公元 1475 年有了第一个枪机(lock)的描述,详细纪录著使用蛇杆,弹簧,连杆等元件来形成点火机构.