Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno mysql++ a multithread aplikacia

Neviem, podľa ktorého vzoru si to implementoval, ale nemáš to dobre. Vo funkcii dataThread najskôr odomykáš writerMutex a až potom zamykáš readerMutex - to je nesprávne, pretože sa ti môže stať, že medzitým refreshThread nastaví hodnotu writer na true a prečíta hodnotu readers ako rovnú nule.

Ďalšia vec, hoci je to len príklad - vlákna by si mal na konci programu ukončiť trochu slušnejším spôsobom (použiť join). Namiesto trápenia sa s mutexami by som na tvojom mieste použil ten pthread_rwlock_t.

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