09 2022 档案
摘要:如何正确停止线程? 停止线程应该是一种通知协作的方式,比如interrupt,但是它仅仅是通知线程,线程拥有完全的自主权,根据自身业务来判断什么时候停止,因为如果选择立即停止就可能导致数据不完整这种问题 在休眠状态的线程是否可以感应到中断 可以,程序会抛出一个异常 为什么用 volatile 标记位
阅读全文
摘要:属性:公平,互斥,可重入(业务涉及不多) 可使用redis,zookeeper,etcd实现 redis实现: 一般追求高性能使用redis redis采用单线程架构,可以保证单个命令的原子性,但是无法保证一组命令在高并发场景下的原子性(引入lua脚本) 注意点: 独占排他:setnx 防死锁: r
阅读全文