什么是线程安全性?安全性就是正确性。举例说明:山顶洞人围着篝火吃肉,为了公平,大家每人都咬一口,接着传给下一个人。而每个人在吃肉的时候都是他自己一个人拿着这个肉,别人是不能碰的。如此来回传递,每人每次都是只咬一口,最后剩下骨头,所以大家吃的肉都一样多。这就是安全性,其中人都是一个线程(多个人就是多个线程),肉,是大家竞争的东西,为了保证大家共同拥有,每个都得平均分配,这就是线程安全性(正确性)。
明白上边的举例之后可以给类的线程安全作出一个定义:当多个线程访问某个类时(交替访问),这个类始终都表现出正确的行为,那么就称这个类是线程安全的。那么这个正确的行为是什么呢?其实就是一种状态,就如上边例子中所描述的 “肉” 就是一种状态。“肉”这种状态是从有到无,从大到小,每一个线