单线程和多线程的区别 性能 吞吐量

 我来答
若以下回答无法解决问题,邀请你更新回答
匿名用户
2016-10-26
展开全部
  所有数据结构的生存期,以及对这些数据结构的access,都用这一根逻辑线程。
  不需要考虑数据结构的race。
  把任何耗时的操作都给其他线程(IO线程、定时器线程,DB线程等)做,做完之后向事件队列(多线程安全的队列,其他线程是生产者,逻辑线程是消费者)丢事件。
  多线程逻辑设计的思路:
  所有数据结构的生存期,以及对这些数据结构的access,不一定在一根线程。
  需要考虑数据结构的race。
  网络事件、定时器事件唤醒工作线程(一般通过iocp或者epoll来唤醒)执行所有工作,一般不需要交换到其他线程。
  很显然,单线程逻辑多了一层事件队列交换,会增加延迟,以及所有的逻辑都在一根线程上跑,逻辑被阻塞也会带来延迟。
  其实吞吐量对于rpc来说,是个宏观的概念,尽可能快地消费网络消息就会提升吞吐量。
  对于高并发的程序,是无法忍受单线程逻辑的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式