[C++] Dziwne zachowanie Wątków
Ostatnio zmodyfikowano 2015-08-05 12:41
C-Objective Temat założony przez niniejszego użytkownika |
[C++] Dziwne zachowanie Wątków » 2015-08-05 11:59:27 Kod: #include <process.h> #include <iostream> #include <string> using namespace std; const string napisy[] = { "\tM I S T R Z K L A W I A T U R Y\t", "Gra polega na jak najszybszym wpisaniu wyświetonego wyrazu." }; void naglowek( void * dummy ) { cout << napisy[ 0 ] << endl; cout << napisy[ 1 ] << endl; _endthread(); } int main( int argc, char ** argv ) { _beginthread( naglowek, 0, 0 ); }
Output: M I S T R Z K L A W I A T U R Y ♠ ♠ńZ☻ áŘi p˘ i Gra polega na jak najszybszym wpisaniu wyťwietlonego wyrazu. . ☺/ŕ $ ☺ @§@ @ë ■ á▲ë ■ Ç→ë ■ ☺
C
C
p ~w Ĺ}w `Ë9ěZ $ ☺
Pytanko: Jakim cudem uzyskałem taki output z konsoli, a czasami żaden. |
|
DejaVu |
» 2015-08-05 12:02:06 Poczytaj lepiej o std::thread. |
|
C-Objective Temat założony przez niniejszego użytkownika |
» 2015-08-05 12:04:30 W artykule pisze o takiej właśnie metodzie więc czegoś tu nie rozumiem. A pytanie dalej aktualne |
|
Monika90 |
» 2015-08-05 12:27:25 main się kończy i zmienne globalne są niszczone w czasie gdy drugi wątek wciąż drukuje. W C++ możesz użyć join, żeby poczekać aż się wątek zakończy #include <thread> #include <iostream> #include <string> using namespace std; const string napisy[] = { "\tM I S T R Z K L A W I A T U R Y\t", "Gra polega na jak najszybszym wpisaniu wyświetonego wyrazu." }; void naglowek() { cout << napisy[ 0 ] << endl; cout << napisy[ 1 ] << endl; } int main( int argc, char ** argv ) { std::thread t( naglowek ); t.join(); }
|
|
C-Objective Temat założony przez niniejszego użytkownika |
» 2015-08-05 12:41:28 Thx. Problem rozwiązany. |
|
« 1 » |