Тема: Потоки
Почав вчити потоки, але щось нічого не зрозуміло. У першому кроці викликаються два потоки одночасно (напевно), як мені зробити затримку у створеному потоці "pt"? Ось цей метод (std::this_thread::sleep_for) виконується в main-і (на 5 мілісекунд).
А як мені його задіяти для "st"? Потрібно використовувати його в функції, чы яккк? Скоріш за все, я неправильно зрозумів щось підкажіть будь ласка.
#include <iostream>
#include <thread>
#include <string>
#include <chrono>
void print(int num,int pos) {
if (pos == 1) {
for (int i = 0; i < num; i++) {
std::cout << "------------------ " << i << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(2));
}
}
else {
if (pos == 2) {
for (int i = 0; i < num; i++) {
std::cout << i - num + 1 << " ------------------" << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(1));
}
}
}
}
int main(){
setlocale(LC_ALL, "Ukr");
int num = 5;
std::thread pt(print, num,1);
std::this_thread::sleep_for(std::chrono::milliseconds(1));
print(num, 2);
pt.detach();
return 0;
}