小结: 1、不必要的唤醒 惊群效应 https://github.com/benoitc/gunicorn/issues/792#issuecomment-46718939 https://www.citi.umich.edu/u/cel/linux-scalability/reports/acce ...
分类:
系统相关 时间:
2019-05-09 00:48:21
阅读次数:
173
从事运营的小伙伴都知道,运营就像升级打怪,知道妖怪在哪,弱点是什么,最终打败他,才能升级,能通过数据分析,找出痛点解决问题。
分类:
其他好文 时间:
2019-05-07 10:20:45
阅读次数:
172
Wait (等待)和 Notify(唤醒) 这里讲了一个Wait (等待)和 Notfity(唤醒),下面这个实例(工厂,商店,消费者) 额,然后,你就知道了,需要写三个类:工厂类,Shop类,消费者Customer类,还需要一个测试类写线程 (一)商店类 (二)消费者类 (三)工厂类 (四)测试类 ...
分类:
编程语言 时间:
2019-05-06 19:00:50
阅读次数:
132
poll_initwait(&table):就是将__pollwait设为回调函数 poll函数:后面会去调用驱动程序的poll函数,poll函数调用pollwait就等于调用__pollwait,将当前进程加入到等待队列中,以便唤醒休眠后的当前进程。 然后返回当前驱动设备的状态(mask),以便收 ...
分类:
系统相关 时间:
2019-05-05 17:58:42
阅读次数:
133
微服务好处和概念性的东西就不介绍了,对于微服务,个人认为并不是越复杂就越好,相反要结合自己公司的现状,适当的做一些裁剪,比如对于规模和业务量不是特别大的企业,就没有必要把服务总线,服务健康检查,服务路由选择,熔断等等加进来,相反,这一部分职责可以通过配置文件,nginx代理,api网关等等外围的技术 ...
分类:
其他好文 时间:
2019-05-03 18:19:14
阅读次数:
107
深入理解Object提供的阻塞和唤醒API 前提 前段时间花了大量时间去研读JUC中同步器 的源码实现,再结合很久之前看过的一篇关于 提供的等待和唤醒机制的JVM实现,发现两者有不少的关联,于是决定重新研读一下 中提供的阻塞和唤醒方法。本文阅读JDK类库源码使用的JDK版本是JDK11,因为本文内容 ...
1、为什么想着了解LockSupport ? 因为 LockSupport 在底层的使用较多,它比内置锁( synchronized 隐式锁)使用起来更方便。通常使用的“等待——通知”有3种 (还可通过Atomic类实现): (1) ReetrantLock 提供了一个 newCondition 方 ...
分类:
其他好文 时间:
2019-04-26 18:12:21
阅读次数:
129
1. C1编译器线程 C1编译器(aka Client Compiler)的代码位于 。C1编译线程(C1 CompilerThread)会阻塞在任务队列,当发现队列有编译任务即可CompileTask的时候,线程唤醒然后调用CompilerBroker,CompilerBroker再进一步选择合适 ...
分类:
其他好文 时间:
2019-04-20 12:57:55
阅读次数:
237
首先回顾一下我们的基础知识。 sleep: 线程睡眠,不会释放锁 wait: 线程等待。释放锁。 notity: 唤醒随机一个当前对象等待的线程,并不会释放锁 notityAll: 唤醒所有当前对象等待的线程,并不会释放锁 遇到问题: 代码如下: 程序发现wait总是会被唤醒。 怀疑是不是总是先wa ...
分类:
编程语言 时间:
2019-04-18 12:12:18
阅读次数:
223
题目(生产者消费者模式):自定义同步容器,容器容量上限为10。可以在多线程中应用,并保证数据线程安全。 方式一:synchronized 方法二:ReentrantLock 区别:synchronized的notify会唤醒所有的线程(生产者+消费者),而ReentrantLock的Conditio ...
分类:
其他好文 时间:
2019-04-16 09:20:09
阅读次数:
238