aboutsummaryrefslogtreecommitdiff
path: root/works/life/operating-system-experiment/SemaphoreAvoidDataRaceDemo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'works/life/operating-system-experiment/SemaphoreAvoidDataRaceDemo.cpp')
-rw-r--r--works/life/operating-system-experiment/SemaphoreAvoidDataRaceDemo.cpp36
1 files changed, 0 insertions, 36 deletions
diff --git a/works/life/operating-system-experiment/SemaphoreAvoidDataRaceDemo.cpp b/works/life/operating-system-experiment/SemaphoreAvoidDataRaceDemo.cpp
deleted file mode 100644
index 0068082..0000000
--- a/works/life/operating-system-experiment/SemaphoreAvoidDataRaceDemo.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-#include "Semaphore.h"
-#include "Thread.h"
-
-#include <iostream>
-
-int main() {
- unsigned data = 0;
-
- cru::Semaphore semaphore;
-
- cru::Thread t1([&data, &semaphore] {
- for (int i = 0; i < 100000; i++) {
- semaphore.P();
- data += 10;
- semaphore.V();
- }
- });
-
- cru::Thread t2([&data, &semaphore] {
- for (int i = 0; i < 100000; i++) {
- semaphore.P();
- data += 10;
- semaphore.V();
- }
- });
-
- std::cout << "Created thread: " << t1.GetNativeID() << '\n';
- std::cout << "Created thread: " << t2.GetNativeID() << '\n';
-
- t1.Join();
- t2.Join();
- std::cout << "Answer is " << data << ", which is "
- << (data == 2000000 ? "correct" : "false") << '\n';
-
- return 0;
-}