diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-02-28 23:13:39 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-02-28 23:13:39 +0800 |
commit | dc1f0c4c0096013799416664894c5194dc7e1f52 (patch) | |
tree | 2f5d235f778cd720f4c39ec3e56b77ba6d99f375 /works/life/operating-system-experiment/MutexAvoidDataRaceDemo.cpp | |
parent | 7299d424d90b1effb6db69e3476ddd5af72eeba4 (diff) | |
download | crupest-dc1f0c4c0096013799416664894c5194dc7e1f52.tar.gz crupest-dc1f0c4c0096013799416664894c5194dc7e1f52.tar.bz2 crupest-dc1f0c4c0096013799416664894c5194dc7e1f52.zip |
chore(store): move everything to store.
Diffstat (limited to 'works/life/operating-system-experiment/MutexAvoidDataRaceDemo.cpp')
-rw-r--r-- | works/life/operating-system-experiment/MutexAvoidDataRaceDemo.cpp | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/works/life/operating-system-experiment/MutexAvoidDataRaceDemo.cpp b/works/life/operating-system-experiment/MutexAvoidDataRaceDemo.cpp deleted file mode 100644 index 81a7aa1..0000000 --- a/works/life/operating-system-experiment/MutexAvoidDataRaceDemo.cpp +++ /dev/null @@ -1,42 +0,0 @@ -#include "Mutex.h"
-#include "Thread.h"
-
-#include <iostream>
-
-int main() {
-
- unsigned data = 0;
- cru::Mutex mutex;
- mutex.Lock();
-
- cru::Thread t1([&data, &mutex] {
- for (int i = 0; i < 100000; i++) {
- mutex.Lock();
- data += 10;
- //std::cout << "Data is now: " << data << '\n';
- mutex.Unlock();
- }
- });
-
- cru::Thread t2([&data, &mutex] {
- for (int i = 0; i < 100000; i++) {
- mutex.Lock();
- data += 10;
- //std::cout << "Data is now: " << data << '\n';
- mutex.Unlock();
- }
- });
-
- std::cout << "Created thread: " << t1.GetNativeID() << '\n';
- std::cout << "Created thread: " << t2.GetNativeID() << '\n';
-
- mutex.Unlock();
-
- t1.Join();
- t2.Join();
-
- std::cout << "Answer is " << data << ", which is "
- << (data == 2000000 ? "correct" : "false") << '\n';
-
- return 0;
-}
|