c++0x 学习笔记之 多线程(1) — 启动线程
by feng
编译环境
编译器: g++ 4.5
编译选项: -std=c++0x
链接选项: –pthread
完整编译链接命令: g++ –O2 –o example example.cc -std=c++0x -pthread
头文件:
条目 头文件 thread <thread> Mutual exclusion <mutex> Condition variables <condition_variable> Futures <future> a 线程创建
I 从函数中创建
如果想在一个线程中执行一个函数 f ,那么这个线程可以这样创建:
?
1std::
thread
t( f );
如果函数有参数,那么直接把参数列在后边即可:
?
12345void
hello_from(
const
char
* str
const
)
{
std::cout <<
"hello from "
<< str <<
" "
;
}
std::
thread
t( hello_from,
"thread t"
);
多个参数的函数也是如此:
?
12345void
max(
const
long
m,
const
long
n )
{
std::cout <<
"max("
<< m <<
", "
<< n <<
")="
<< (m>n?m:n) <<
" "
;
}
std::
thread
t( max, 13, 31 );
可以依此类推到3个、4个……参数的函数情形。
只要不把 main 函数也弄进去,编译器统统接受:
?
1234void
try_start_program_here()
{
std::
thread
t( main );
//error
}
II 从对象/仿函数中创建
把仿函数依样搬进去:
?
1234567struct
say_hello
- 更多C/C++疑问解答:
- 关于c++的cout输出的问题。
- 在学校里学过C和C++,不过学的很一般,现在自学C#,会不会很难?
- 全国计算机二级C语言笔试题
- 已知某树有2个2度结点,3个3度结点,4个4度结点,问有几个叶子结点?
- c++数据结构内部排序问题,整数排序
- 2012九月计算机二级C语言全国题库,,急求急求
- 如果assert只有一个字符串作为参数,是什么意思呢?
- C语言中,哪些运算符具有左结合性,哪些具有右结合性,帮忙总结下,谢谢了!
- 为什么用结构体编写的程序输入是,0输不出来啊~~~
- 将IEEE—754的十六进制转化为十进制浮点类型,用C或C++都行,多谢各位大侠啊,非常感谢!
- 为什么这个程序求不出公式?
- 这个链表倒置的算法请大家分析下
- c语言函数库调用
- C语言unsigned int纠错
- C语言快排求解啊
- asp
- php
- Delphi
- Matlab
- JSP
- Foxpro
- JS
- C/C++
- C#/ASP.NET
- VC++
- JAVA
- VB
- 汇编语言
- html/css
- CGI
- XML/UML
- wap
- 网站相关
- 网页素材
- python
- 微信小程序
- thinkphp
如果你遇到编程学习难题:
访问www.zzzyk.com 试试CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,