Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <thread>
- #include <mutex>
- std::mutex mtx;
- void waterStream(double speed, double *pool) {
- for (;;) {
- _sleep(1000);
- *pool += speed;
- }
- }
- void PoolModel(double *waterLevel) {
- for (;;) {
- _sleep(1000);
- if (*waterLevel < 0)
- *waterLevel = 0;
- system("cls");
- std::cout << "action" << std::endl;
- std::cout << "water level: " << *waterLevel << std::endl;
- }
- }
- int main() {
- mtx.lock();
- double waterLevel = 0;
- std::thread pool(PoolModel, &waterLevel);
- std::thread first(waterStream, 1.1, &waterLevel);
- std::thread second(waterStream, -1, &waterLevel);
- pool.join();
- first.join();
- second.join();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement