【发布时间】:2018-04-29 07:38:36
【问题描述】:
据我所知,
在计算机科学中,执行线程是执行的最小序列 可以独立管理的程序指令 调度程序,通常是操作系统的一部分。这 线程和进程的实现在操作之间有所不同 系统,但在大多数情况下,线程是进程的一个组件。 一个进程中可以存在多个线程,并发执行 并共享内存等资源,而不同的进程不 共享这些资源。特别是一个进程的线程共享 它的可执行代码及其变量在任何给定时间的值。[1]
当我决定用 c++ 编写一个多线程程序时,我面临着许多选择,比如 boost 线程、posix 线程和 std 线程。
在 Internet 上进行的简单搜索显示了由 boost.org 网站 here 进行的性能测量。
我的问题更基本,也与性能有关。
基本上,为什么它们的性能不同?为什么,例如线程类型 A,比其他线程快?它们由大多数专业程序员编写,由功能强大的操作系统运行,但它们提供不同的性能。
是什么让它们更快或更慢?
【问题讨论】:
-
编辑您的问题以包含minimal reproducible example。
-
并包含指向您的证据的链接。可能这些问题也提供了答案。
标签: c++ multithreading boost posix