面经——线程切换开销、弱引用智能指针weak_ptr

这段时间一直在忙着秋招,一边面试,一边整理总结,在面试的过程中也会发现很多问题,自己学习的时候并没有深究,导致“知其然而不知其所以然”,当面试被问到的时候,感到很可惜。其实想想也不必可惜,面试就是一个查漏补缺的过程,在这个过程中发现自己的一些遗漏之处,进一步查阅资料、深入学习,对自己也是很有帮助的。

现在对自己遇到的以及和周围的小伙伴交流的他们遇到的其中一些问题,整理下面经,必要时留下有参考意义的前辈的文章,以便后续查看。

一、线程的上下文切换及其开销

在一次面试时,被问到线程切换的开销指的是什么?听到这个问题的时候有点懵懵的,最后也没答出来个所以然,今天就对这个问题做一些整理。

多线程中两个必要的开销:线程的创建、上下文切换

线程的上下文切换概念:

多任务系统往往需要同时执行多道作业,而作业数往往都大于机器的CPU数,然而一个单核CPU同时只能执行一项任务,操作系统的设计者巧妙地利用了时间片轮转的方式。

1)时间片是CPU分配给各个线程的时间,时间片一般是几十毫秒。

2)CPU通过给每个线程分配CPU时间片,并且不停地切换线程来实现多线程。因为时间片非

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值