stop谨慎使用
假设有两个线程a写操作,b读操作,共用同一把锁,这时候写入一个User对象Id和name都为当前时间,由于是共用同一把锁,在进行写操作的时候是无法读的,但是可能出现这个一种情况,我初始化一个User对象,ID和name都为0,这时候我进行写操作,刚把ID更改为1,线程就被STOP了,释放了锁、这时候,b线程就能读到这条错误的数据,这中问题在平常开发过程中很不好排查,除非你特别确定可以用Stop,否则不建议使用。
那么,我们要是想正确的stop一个线程的时候y应该怎么做呢 ?我们可以自己在a线程里面定义一个stopMe方法来控制a线程的写操作。