摘要: 【场景】客户端大量连接,如果采用多线程方式的话,线程上下文切换导致性能不佳。因此采用io多路复用。 一、上下文切换 对于单核CPU来说(对于多核CPU,此处就理解为一个核),CPU在一个时刻只能运行一个线程,当在运行一个线程的过程中转去运行另外一个线程,这个叫做线程上下文切换(对于进程也是类似)。 阅读全文
posted @ 2020-03-28 15:49 Qmillet 阅读(306) 评论(0) 推荐(0)
摘要: 生产者-消费者(producer-consumer)问题,也称作有界缓冲区(bounded-buffer)问题,两个进程共享一个公共的固定大小的缓冲区。 其中一个是生产者,用于将消息放入缓冲区;另外一个是消费者,用于从缓冲区中取出消息。问题出现在当缓冲区已经满了,而此时生产者还想向其中放入一个新的数 阅读全文
posted @ 2020-03-28 15:19 Qmillet 阅读(309) 评论(0) 推荐(0)
摘要: 一、线程状态转换图 public enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED; } ★ 调用obj.wait()的线程需要先获取obj的monitor,wait()会释放obj的monitor并进入等 阅读全文
posted @ 2020-03-28 13:13 Qmillet 阅读(343) 评论(0) 推荐(0)