Wywołanie funkcji "w tle"

0

Witam. Mam pewien problem... otóż chciałbym osiągnąć coś takiego w c++.
Mam funkcję, która co jakiś czas wyświetla mi jakiś napis na ekranie oraz drugą, która prosi o podanie przez użytkownika jakiegoś znaku. Co teraz powinienem zrobić, żeby te funkcje działały niejako niezależnie... czyli program czekając na podanie znaku przez użytkownika nadal wykonuje funkcję z wyświetlaniem tych napisów, a nie blokuje się do czasu wprowadzenia znaku... i na odwrót... gdy czekam na wyświetlenie napisu po danym czasie (funkcją _sleep(int)) chciałbym mieć możliwość wprowadzenia znaku ;)

Mam nadzieję, że wyraziłem się w miarę jasno :)

0

Dwa rozwiązania:

  1. Zrobić dwa wątki, jeden będzie wykonywał jedną funkcję, drugi drugą (to chyba bedzie uniwersalne, modulo to, że wątki wszedzie działają chyba trochę inaczej)
    2 Wykorzystać funkcję systemową select dla deskryptora 0 (standardowe wejście) z timeoutem i zaleznie od jej wyniku odczytać znak lub zmienić napis(na pewno uruchomiłbym takie rozwiązanie na Linuksie i wiedziałbym jakie sztuczki zastosować, żeby mi znaki z klawiatury nie były buforowane wierszami)
0

Jeśli piszesz program pod Windows to:
http://www.gamedev.pl/articles.php?x=view&id=204
Czytałem tylko pobieżnie, ale wygląda na to że właśnie tego szukasz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1