Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Jan Novotný

Stran: [1]
1
Ahoj,
prosím, neznáte tu někdo, jak správně používat přístup ke spouštění vláken z C++? (Windows Visual studio)
Kód níže funguje. Celý kód volám z main().
Problém, na který se potřebuju zeptat, je ten, že pokud nechám v kódu f-ci WaitForSingleObject a nechám aplikaci čekat na dokončení vlákna, aplikace po tu dobu zatuhne a čeká na vlákno.
Takto testem naspouštím např. 5 vláken a nechám je klidně počítat fibonacciho pro číslo 40. To si tedy počkám...
Prozatím spouštím kód jenom z cmd, ale chování z GUI by bylo identické.
Právě pro to jsem chtěl použít spouštění vláken a představoval jsem si, že aplikace v main() poběží dále a bude normálně reagovat na uživatelské vstupy.
Pokud už běží vlákna, aplikace nereaguje na uživatelský vstup.
Četl jsem, že f-ce WaitForSingleObject() se nemá vynechávat, že pak to prý není korektní ukončovací postup pro běžící vlákno.
Nebo se prostě vlákna nemají spouště z mainu?
Je na to nějaká finta?
Jak to udělat nejlépe?
Děkuji.

Kód: [Vybrat]
#include <process.h>
#include <Windows.h>

h = (HANDLE)_beginthreadex(0, 0, &doMyWork, &n, 0, &threadId);
threadsVector.push_back(threadId);
cout << "New thread spawned with child function. ThreadID: " << threadId << endl;
WaitForSingleObject(h, INFINITE);
if(CloseHandle(h)){
cout << "Thread finished and terminated." << endl;
}

2
Vývoj / Android - čistá NDK C++ aplikace s EGL a opengl
« kdy: 06. 03. 2020, 14:14:45 »
Dobrý den,
prosím máte někdo zkušennost s programováním v C++ pro android, s použitím native development kitu, EGL a OPENGL?
Bez Java jazyka.
Chtěl bych tohle vyzkoušet.
Potřeboval bych prosím jednoduchou srozumitelnou ukázku kódu, jak inicializovat EGL okno a v něm něco vykreslit.
Zejména pak eglCreateWindowSurface().
Pro testy zkouším v Android Studiu.
Děkuji za vstřícnost.

Stran: [1]