《白话C++》第12章并发,Page519 基础知识,查看cpu核数

查看cpu核数:

#include <iostream>
#include <thread>

int main()
{
    std::cout << "我家电脑cpu共计:"
                //逻辑处理器
              << std::thread::hardware_concurrency()
              << "核"
              << std::endl;
    return 0;
}

 三类场景,提倡使用并发设计:

(1)并发应用典型场景一:程序在等待外部输入,比如接受网络发来的消息,或者更直接一些,在等待用户的键盘输入,可是那个用户突然上厕所了。在这种情况下,如果程序还有不需要依赖这些输入的工作,当然应该再开一个线程处理;

(2)并发应用典型场景二:电脑确实有多个CPU(包括多核),而程序当前又确实有两件完全不相关或仅是低关联度的工作需要做,那总不能就让一个CPU忙得半死,另一个在喝茶侃大山吧?

(3)并发应用典型场景三:程序用户想做多事,并且觉得每件事优先级都很高,都不能搁置,于是程序用上多线程,每件事都干一点就切换到另一件。

类似的,这个程序必须面对多个用户(比如网站的访问者),则自然每个用户都不希望自己的请求被单线程的程序排在最后面处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值