C++的并发编程历史
多线程环境
并非所有的语言都提供了多线程的环境。即便是C++语言,直到C++11标准之前,也是没有多线程支持的。
在这种情况下,Linux/Unix平台下的开发者通常会使用POSIX Threads,Windows上的开发者也会有相应的接口。
但很明显,这些API都只针对特定的操作系统平台,可移植性较差。如果要同时支持Linux和Windows系统,你可能要写两套代码。
相较而言,Java自JDK 1.0就包含了多线程模型。
这个状态在C++ 11标准发布之后得到了改变。并且,在C++ 14和C++ 17标准中又对并发编程机制进行了增强。
下图是最近几个版本的C++标准特性的线路图。
编译器与C++标准
编译器对于语言特性的支持是逐步完成的。想要使用特定的特性你需要相应版本的编译器。
C++标准与相应的GCC版本要求如下:
C++版本 GCC版本
C++11 4.8
C++14 5.0
C++17 7.0
C++标准与相应的Clang版本要求如下:
C++版本 Clang版本
C++11 3.3
C++14 3.4
C++17 5.0
默认情况下编译器是以较低的标准来进行编译的,如果希望使用新的标准,你需要通过编译参数-std=c++xx告知编译器,例如:
g++ -std=c++17 your_file.cpp -o your_program
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具