关于 C/C++ 中线程的问题...
C++0x 语法
#include <thread>
void dummy() {}
int main(int, char*[]) {
std::thread x(dummy);
std::thread y(dummy);
...
return 0;
}
有多少个线程?两个(x 和 y)还是三个(x、y 和 main)?我可以打电话给this_thread::yield()
主吗?我从this_thread::get_id()
main 中调用得到什么?
pthread 语法
#include <pthread.h>
void dummy() {}
int main(int, char*[]) {
pthread_t x, y;
pthread_create(&x, NULL, &dummy, NULL);
pthread_create(&y, NULL, &dummy, NULL);
...
return 0;
}
有多少个线程?两个(x 和 y)还是三个(x、y 和 main)?我可以打电话给pthread_yield()
主吗?我从pthread_self()
main 中调用得到什么?
提升语法
#include <boost/thread>
void dummy() {}
int main(int, char*[]) {
boost::thread x(dummy);
boost::thread y(dummy);
...
return 0;
}
有多少个线程?两个(x 和 y)还是三个(x、y 和 main)?我可以打电话给boost::this_thread::yield()
主吗?我从boost::this_thread::get_id()
main 中调用得到什么?