就好像一个班的人吃大锅饭,有一口锅,是
公共资源,每个人是一个
线程,都要去那口锅打饭,但是打饭的时候锅只能被一个人占用,同时几个人去打饭,就冲突了。
发生资源冲突的可能性在于:
第一,需要打饭的人数,也就是要使用资源的线程数,这种线程越多当然越容易冲突。
第二,每个人打饭时候所花费时间,如果每个人都是闪电般把饭打好,那么冲突几率就小,如果每个人都要花半个小时才可能打好饭,那冲突可能性就大。
解决冲突的方法,还是在锅上贴一个条子“先来后到,请排队”,这样大家就不会乱来了,也就是线程同步,给公共资源上锁。