C ++では、次のサンプル実装があります。
#include <thread>
#include <iostream>
void doSomeWork( void )
{
std::cout << "hello from thread..." << std::endl;
while(true)
{
printf("Getting inside doSomeWork\n");
sleep(1);
}
}
int main( int argc, char *argv[] )
{
std::thread t( doSomeWork );
t.join();
processing();
return 0;
}
void processing()
{
while(true)
{
printf("Getting inside processing\n");
sleep(1);
}
}
doSomeWork()が処理を続行し、processing()をブロックするという問題があります。スレッドは非同期であると思ったので、スリープ中に他のことができます。ここでの私の質問は、doSomeWork()でスリープして他のスレッドを生成してから、doSomework()を再開するにはどうすればよいですか?