
3 changed files with 39 additions and 3 deletions
@ -0,0 +1,35 @@ |
|||||
|
#include <iostream> |
||||
|
#include <thread> |
||||
|
#include <unistd.h> |
||||
|
#include "Semaphore.hh" |
||||
|
|
||||
|
using namespace std; |
||||
|
using namespace pEp; |
||||
|
|
||||
|
int main() |
||||
|
{ |
||||
|
Semaphore semaphore; |
||||
|
|
||||
|
thread thread1([&](){ |
||||
|
cout << "1: before stop\n"; |
||||
|
semaphore.stop(); |
||||
|
cout << "1: now on stop\n"; |
||||
|
semaphore.try_wait(); |
||||
|
cout << "1: and on go again\n"; |
||||
|
semaphore.try_wait(); |
||||
|
cout << "1: keeping going\n"; |
||||
|
}); |
||||
|
|
||||
|
sleep(1); |
||||
|
|
||||
|
thread thread2([&](){ |
||||
|
cout << "2: setting go\n"; |
||||
|
semaphore.go(); |
||||
|
}); |
||||
|
|
||||
|
thread1.join(); |
||||
|
thread2.join(); |
||||
|
|
||||
|
return 0; |
||||
|
} |
||||
|
|
Loading…
Reference in new issue