46 #include <visp3/core/vpMutex.h>
47 #include <visp3/core/vpThread.h>
49 #if defined(VISP_HAVE_PTHREAD) || (defined(_WIN32) && !defined(WINRT_8_0))
51 int thread_counter = 0;
57 unsigned int thread_id = *((
unsigned int *)args);
59 std::cout <<
"Started job " << thread_counter <<
" with id " << thread_id << std::endl;
61 for (
unsigned long i = 0; i < (0xFFFF); i++) {
64 std::cout <<
"Ended job " << thread_counter << std::endl;
74 unsigned int nthread = 10;
76 unsigned int *thread_id =
new unsigned int[nthread];
78 for (
unsigned int i = 0; i < nthread; i++) {
92 #if !defined(_WIN32) && (defined(__unix__) || defined(__unix) || (defined(__APPLE__) && defined(__MACH__)))
93 std::cout <<
"You should enable pthread usage and rebuild ViSP..." << std::endl;
95 std::cout <<
"Multi-threading seems not supported on this platform" << std::endl;
void create(vpThread::Fn fn, vpThread::Args args=nullptr)