Witam.
Ostatnio mi przyszedł chęć napisania takie symulatora paska postępu w wersji konsolowej. Program piszę sobie z nudów i jako odskocznię od assemblera.
Wykorzystałem Wielowątkowść i pojawił się pewien problem który bardziej dotyczy według mnie strumienia wyjścia niż samych wątków.
Efekt jaki chcę uzyskać to taki:
#########
Obydwa elementy mają się wyświetlać w konsoli w tym samym czasie w takim właśnie układzie + taka w cudzysłowie animacja.
A oto kod który napisałem:
#include<iostream>
#include<thread>
using namespace std;
void Zwloka(int sekunda)
{
static time_t czas=time(NULL)
while(time(NULL)-czas<sekunda);
czas=time(NULL);
}
void Petla()
{
for(int i=0;i<10;i++)
{
cout<<"#"<<flush;
Zwloka(1);
}
}
int main()
{
thread obj(Petla);
thread obj1(Petla);
obj.join();
obj1.join();
}
Lecz wynikiem działania tego programu jest zła bo wyświetla obydwa elementy lecz w jednej lini. Według mnie problemem tu jest zródło wyjścia czyli cout bo oby dwa wątki robią się w tym samym czasie lecz może i też się mylę.
Bardzo proszę o pomoc i życzę miłego dnia.