eine Frage zu Fäden in C/C++ ...Threads in C, C++, C++ 0x, Pthread und steigern
C++ 0x-Syntax
#include <thread>
void dummy() {}
int main(int, char*[]) {
std::thread x(dummy);
std::thread y(dummy);
...
return 0;
}
Wie viele Threads Dort? Zwei (x und y) oder drei (x, y und main)? Kann ich this_thread::yield()
in Haupt anrufen? Und was bekomme ich von this_thread::get_id()
in Haupt anrufen?
Pthread Syntax
#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;
}
Wie viele Threads gibt es? Zwei (x und y) oder drei (x, y und main)? Kann ich pthread_yield()
in Haupt anrufen? Und was bekomme ich von pthread_self()
in Haupt anrufen?
Boost-Syntax
#include <boost/thread>
void dummy() {}
int main(int, char*[]) {
boost::thread x(dummy);
boost::thread y(dummy);
...
return 0;
}
Wie viele Threads gibt es? Zwei (x und y) oder drei (x, y und main)? Kann ich boost::this_thread::yield()
in Haupt anrufen? Und was bekomme ich von boost::this_thread::get_id()
in Haupt anrufen?
Im zweiten Beispiel haben Sie geschrieben pthread_t x, t; später verwendest du x, y; Tippfehler, denke ich. –