摘要:
std::thread::hardware_concurrency()在新版C++标准库中是一个很有用的函数。这个函数会返回能并发在一个程序中的线程数量。例如,多核系统中,返回值可以是CPU核芯的数量。返回值也仅仅是一个提示,当系统信息无法获取时,函数也会返回0。但是,这也无法掩盖这个函数对启动线程 阅读全文
摘要:
假设要写一个在后台启动线程的函数,并想通过新线程返回的所有权去调用这个函数,而不是等待线程结束再去调用;或完全与之相反的想法:创建一个线程,并在函数中转移所有权,都必须要等待线程结束。所以,新线程的所有权都需要转移。C++标准库中有很多资源占有(resource-owning)类型,比如std::i 阅读全文
摘要:
这章是C++并发的第一章内容,主要叙述线程管理、向线程传递参数、转移线程、决定线程的数量、表示线程等。 线程管理的基础 每个程序至少有一个线程:执行main()函数的线程,其余线程有其各自的入口函数。线程与原始线程(以main()为入口函数的线程)同时运行。如同main()函数执行完会退出一样,当线 阅读全文