由于多线程的实现,在运行一个程序的时候可能会有很多的线程在同时运行,但是线程的调度并不是可见的,所以不会知道一个线程什么时候在运行,比如说 你坐在桌子前手拿着叉子,正要去叉盘中的最后一片食物,当你的叉子就要够得着他的时候,这片食物突然消失了,因为你的线程挂起了,另一个用餐者进入并吃掉了它,所以这就是在使用多线程时会出现的问题,对于并发的任务,你需要一种方式来防止两个线程同时访问一段资源,基本上所有的并发模式在解决线程冲突上都是采用序列化访问共享资源的方案,这就意味着在cpu给定的时刻,只允许一个