400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

C++11并发指南之多线程的示例分析

这篇文章将为大家详细讲解有关C++11并发指南之多线程的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

成都创新互联公司长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为龙华企业提供专业的成都做网站、网站制作、成都外贸网站建设龙华网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。

与 C++11 多线程相关的头文件

C++11 新标准中引入了四个头文件来支持多线程编程,他们分别是 ,,,

std::thread "Hello world"

下面是一个最简单的使用 std::thread 类的例子:

#include 
#include 

#include  // std::cout
#include   // std::thread

void thread_task() {
  std::cout << "hello thread" << std::endl;
}

/*
 * === FUNCTION =========================================================
 *     Name: main
 * Description: program entry routine.
 * ========================================================================
 */
int main(int argc, const char *argv[])
{
  std::thread t(thread_task);
  t.join();

  return EXIT_SUCCESS;
} /* ---------- end of function main ---------- */

Makefile 如下:

all:Thread

CC=g++
CPPFLAGS=-Wall -std=c++11 -ggdb
LDFLAGS=-pthread

Thread:Thread.o
  $(CC) $(LDFLAGS) -o $@ $^

Thread.o:Thread.cc
  $(CC) $(CPPFLAGS) -o $@ -c $^


.PHONY:
  clean

clean:
  rm Thread.o Thread

注意在 Linux GCC4.6 环境下,编译时需要加 -pthread,否则执行时会出现:

$ ./Thread
terminate called after throwing an instance of 'std::system_error'
 what(): Operation not permitted
Aborted (core dumped)

原因是 GCC 默认没有加载 pthread 库,据说在后续的版本中可以不用在编译时添加 -pthread 选项。

关于“C++11并发指南之多线程的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


本文标题:C++11并发指南之多线程的示例分析
转载源于:http://mbwzsj.com/article/gceggi.html

其他资讯