物联网等技术可以在缓解气候变化风险方面发挥巨大作用
|
我想了想说到:“那就这样,把两种情况结合一下,常规情况下数到100就释放一次锁,但如果遇到阻塞情况,也要提前释放锁,怎么样?” 大伙纷纷点头,达成了一致,随后我们还给这个锁取了一个名字:全局解释器锁GIL。 自从用上了GIL,我们大家伙干活都规矩多了,再也没有出现把公共资源搞坏的情况了。 升级版GIL 再后来,多核技术开始兴起了,一个CPU里面可以同时执行多个线程。小伙伴们高兴地把这个消息散播开了。 “老大,现在CPU有多核了,咱们可以一起执行了,可不可以把那个GIL给去掉啊,这样才能利用多核的优势啊。” “是啊,隔壁Java线程老是嘲笑我们看起来人多,实际只有一个线程在执行” 可说易行难,这么多年我们都是这样工作的,要突然去掉,出了问题谁也不敢负责啊。 “可是老大,现在这个GIL锁不公平”,新来的线程抱怨到。 “哪里不公平了?” “我准备执行代码,发现锁在你的手里,只好原地等待,等了半天都睡着了,好不容易等到你释放了,操作系统把我给唤醒,准备去申请锁,结果发现又被你抢到了,真是浪费表情”,新的线程满脸委屈。
“是啊,老大,我也发现了,这不是偶发现象,我观察很久了,经常都会发生!频繁被唤醒,却发现白忙活一场,白白浪费CPU资源,大家都怨气很大啊”,另一个线程伙伴也说到。 关于JSR 310日期时间更多介绍此处就不展开了,毕竟前面文章啰嗦过好多次了。总之它是Java的新一代日期时间API,设计得非常好,几乎没有缺点可言,可用于100%替代老的日期时间API。 如果你到现在2021年了还没拥抱它,那么请问你还在等啥呢? 总结 日期时间API因为过于常用,因此你可能都觉得它毫不起眼。坦白的说,如果你没有复杂的日期时间需求要处理,如涉及到时区、偏移量、跨时区转换、国际化显示等等,那么可能觉得Date也能将就。
如果你不想做个将就的人,如果你想拥有更好的日期时间编程体验,弃用Date,拥抱JSR 310吧。 JSR 310规范的领导者是Stephen Colebourne,此人也是Joda-Time的缔造者。不客气的说JSR 310是在Joda-Time的基础上建立的,参考了其绝大部分的API实现,因此若你之前是Joda-Time的重度使用者,现在迁移到Java 8原生的JSR 310日期时间上来几乎无缝。 即便这样,也并不能说JSR 310就完全等于Joda-Time的官方版本,还是有些许诧异的,例举如下:
简单感受下JSR 310 API: (编辑:潍坊站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

