
多线程
文章平均质量分 90
兔老大-RabbitBoss
有道无术,术尚可求,有术无道,止于术
展开
-
深入理解Synchronized(对象锁)和Static Synchronized(类锁)的区别
通过分析这两个用法的分析,我们可以理解java中锁的概念。一个是实例锁(锁在某一个实例对象上,如果该类是单例,那么该锁也具有全局锁的概念),一个是全局锁(该锁针对的是类,无论实例多少个对象,那么线程都共享该锁)。实例锁对应的就是synchronized关键字,而类锁(全局锁)对应的就是static synchronized(或者是锁在该类的class或者classloader对象上)。原创 2022-03-20 11:43:03 · 1830 阅读 · 2 评论 -
公司的代码中看到「Thread.sleep(0)」是Bug吗?
我们可能经常会用到 Thread.Sleep 函数来把使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题:①、假设现在是 2022-01-01 00:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在 2022-01-01 00:00:01.000 的时候,这个线程会不会被唤醒?②、某人的代码中用了一句看似莫明其妙的话:Thread.Sleep(0) 。既然是 Sleep 0 毫秒,那么他跟去掉这句代码相比,有啥区别么?原创 2022-03-10 19:21:45 · 232 阅读 · 0 评论