Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem C++ mutex přes více funkcí

Tvoj problem bude najskor to bufferOneIsClear. Naplnis prvy buffer nastavis to na false, naplnis druhy buffer nastavis to zas na true bez toho aby si vobec vedel ci to uz bolo precitane, a v tom druhom thrade na zaklade toho testujes veci pricom sa ti za jazdy tato premenna moze zmenit. Ziskas mutex1 a potom sa ti zmeni tato premenna za jazdy a neskor na zaklade nej testujes ktory mutex uvolnit??? To je absolutny chaos tak nebezpecny ze az.
Povyhadzuj vsetky stavove premenne uplne vsetko zmaz :-) a zacni robit to co kazdy slusny vyvojar - NAJPRV na papier albeo v hlave logicky navrh datovych struktur a mutexov a premennych tak aby to nebol nebezpecny chaos meniacich sa veci za jazdy, POTOM zacat pisat kod :)

Alebo

if(bufferOneIsClear == false){//ctu z bufferu 1
waitResult = WaitForSingleObject( mutexBuffer1, INFINITE);
SetEvent(eventToBuffering);
cout<<"Ctu z bufferu 1.."<<endl;
return;
}
tu sa ti moze za jazdy zmenit bufferOneIsClear
if(bufferOneIsClear == true){//ctu z bufferu 2
nectes.

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny