为什么会有锁私有制和公有制
- 回到《大同》篇 , 人们之所以不必户 , 因为是大同社会呀 。什么是大同社会 , 天下为公 , 就是资源是大家的 , 没有人有权利或者有必要把某个东西加锁 。PS:额 , 有点类似共产主义哈 。但如果用个Java关键词来说的话 , 大同就是public 。
- 想象一下我们的家为什么会有锁?怕贼偷啊 , 他把东西偷了 , 我就没有了 , 他富我穷 。那人为什么要偷东西呢?因为他没有自己的资源 。或者说资源只有一份 , 你现在搁家里锁起来 , 就意味着百思特网我没办法拥有 , 好东西谁都想要 。但如果 , 资源很充足呢?就跟咱们常说的 , 现在有些人在路上看见一块钱 , 都不带弯腰去捡的 , 这时候敞开了送都不要 , 还搞个锁干啥使呢?
- 其实生活中还有一种情况 , 比如说:小姑娘在家换衣服 , 明明大门是锁了的 , 为什么还要把自己房间的们也锁上?所以有时候加锁 , 也因为需要很强的隐私性 , 我在一个空间里干了什么我不希望别人知道 。
- 这一点和第二点有些许不同 。就是说 , 尽管资源很稀缺 , 现在手里就只有1两二师兄的肉肉 , 但你确定全世界就只有你一个人而已 , 这时候需要锁吗?就跟班里只有一个学生一样 , 你永远都是第一 。
- 因为有些人惦记我的美貌 , 并想据为己有 。要么加锁藏起来保证我独自私有 , 要么干掉”有些人“ 。当我不能手染血腥”杀进程、杀线程“的时候 , 我只能把我自己lock起来了 。PS:真要说起来 , 加锁是一种牺牲自己 , 保护别人的手段 。
- 事已至此 , 我要祭出大招了 。请看文章结尾的图 , 公厕示意图 。PS:历史中的博客有说过为啥我一贴图就是祭出大招 。
- 大家都排着队上厕所 , 你说你实在很急 , 得了 , 有人能憋有人憋不得 。或者有个孕妇炎炎烈日站着排队 , 你说这时候让不让这些很急或者很需要被照顾的人排到第一个去呢? 不让就是公平锁 , 管你什么呢 , 大家统一排队 , 先到先蹲坑 。让了就是非公平锁 , 各凭本事 , 有些人可能来了2小时都没个坑位 , 有些人刚来就有坑位了 。比如:ReetrantLock通过构造函数指定其的公平性 , 如果是公平的 , 那么所有的线程都加入队列中等待 , 先进先出 。Synchronized是非公平的 , 没有那么个队列呀 , 大家来了就到门口抢呗 , 谁狠谁蹲坑 。
- 就跟上厕所一样的 , 有时候根本就是下意识的看着很多人排着队 , 然后就以为是里边没有坑位了 , 然后自己还默默的加入到队伍后边 , 排呀排呀 。突然有一个人没排队进去了 , 然后又XXX了一会子开门出来了 。哈哈哈 , 其实很可能通用坑位没人用啊 。或者大家都排着队想去洗洗小手 , 或者排队的都是女同胞 , 其实作为男同胞的你是有专属坑位的 。Synchronized是悲观的 , 只要有人从大门进去了 , 里边就一定没有坑位了 。CAS认为是乐观的 , 先去看看再说 , 有人就老实排着 , 没人就蹲坑 。在Java里边的话 , 用各种锁 , 不仅限于Synchronized , 都是一种悲观的态度 , 总有刁民想害朕 , 朕先搞把锁把自己保护起来 。而无锁编程则是乐观的 , 虽说总有刁民想害朕 , 但等他来害我的时候 , 我再把他打死 , 平常我就专心练我的绝世神功 。
推荐阅读
- 分别进行是什么意思 分别是什么意思
- 女人说不是什么意思 不是什么意思
- 什么是发思特软件FastCAM加密狗? 加密狗是什么
- goke是什么意思 joke是什么意思
- 会忘记我吗的反义词 忘记的反义词是什么
- 学word有什么用 word是什么
- 追忆似水年华名句赏析 似水年华是什么意思
- 了字结构和部首是什么 的字的部首是什么
- 电脑重装后没声音了怎么办,电脑重装系统后没有声音怎么办
