并发艺术-并发编程的开销

   并发编程的核心内容是指计算机能够以任何顺序来执行的独立计算机。例如,在代码中可以独立执行的循环迭代和函数调用都属于独立计算。从串行代码中提取出来并发工作可以分配到多个线程上(或者相互协作的进程上),并且可以在多核处理器中的任何一个核上运行(或者在单核处理器上运行,此时需要将不同的独立计算换入/换出处理器,从而形成一种并行执行的假象)。
  要想将并发工作分配到多个线程上,需要调用一些实现了线程化机制的库函数。这些额外的函数调用将增加并发执行的开销(overhead),因为最初的串行代码中并不包含这些函数调用。任何为了控制和协调线程而增加的额外代码,尤其是调用线程化库函数的代码,同样是一种开销。此外,还需要增加一部分代码来判断计算是应该继续执行,还是应该获取更多的工作或者在满足指定的条件时触发其他线程。这也是需要考虑的开销。不仅如此,还需要增加一些代码专门用来确保将等量的工作分配到每个线程上。这种线程之间的负载均衡可以使线程不会处于空闲状态并浪费系统资源,这同样可以被认为是一种开销。在并发代码中必须尽可能高的在最低水平。要想获取最大程度的性能提升并且使并发代码实现尽可能高的可伸缩性,那么分配到每个线程的工作就可以足够多,以便减少或者掩盖由于这些开销而带来的负面影响。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14221429/viewspace-678529/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14221429/viewspace-678529/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值