Hallo allemaal,
ik ben bezig een stukje code aan te passen waarbij twee verschillende threads hetzelfde object aan spreken. Dit gebeurt op de volgende wijze:
- Er is een soort van setup waarin een nieuwe pthread wordt aangemaakt. Deze voert een 'periodieke' loop uit met verschillende bewerkingen voor elke 1 seconden, 5 seconden, 10 seconden en 5 minuten. Bij de bewerkingen die iedere seconden moeten plaatsvinden, spreekt de thread een object aan om van dat object een bepaalde methode aan te roepen.
- Elders in de code wordt vervolgens in de 'main' een infinite loop aangemaakt welke gebruik maat van een boolean om uiteindelijk uit de loop te geraken (while(!true)). In deze loop wordt ook hetzelfde object aangesproken als dat de pthread doet.
De methoden die worden aangesproken op het object leveren output, waarmee ik een duidelijk inzicht kan krijgen wie nu het object aanspreekt.
Ik heb vervolgens het object afgeschermd met een mutex en daarna met een condition object. Echter lijkt het condition object niet te werken, daar de andere thread gewoon toegang schijnt te krijgen tot het object!!!
Om een lang verhaal kort te maken en om een opsomming van mijn vraag te maken, is het mogelijk dat pthread methodieken zoals condition object en mutex alleen maar werken met pthreads (welke dus geinstantieerd zijn met pthread_create())??????
Alvast bedankt voor de reacties, en als mijn probleem niet helemaal duidelijk is wil ik graag toelichten
ik ben bezig een stukje code aan te passen waarbij twee verschillende threads hetzelfde object aan spreken. Dit gebeurt op de volgende wijze:
- Er is een soort van setup waarin een nieuwe pthread wordt aangemaakt. Deze voert een 'periodieke' loop uit met verschillende bewerkingen voor elke 1 seconden, 5 seconden, 10 seconden en 5 minuten. Bij de bewerkingen die iedere seconden moeten plaatsvinden, spreekt de thread een object aan om van dat object een bepaalde methode aan te roepen.
- Elders in de code wordt vervolgens in de 'main' een infinite loop aangemaakt welke gebruik maat van een boolean om uiteindelijk uit de loop te geraken (while(!true)). In deze loop wordt ook hetzelfde object aangesproken als dat de pthread doet.
De methoden die worden aangesproken op het object leveren output, waarmee ik een duidelijk inzicht kan krijgen wie nu het object aanspreekt.
Ik heb vervolgens het object afgeschermd met een mutex en daarna met een condition object. Echter lijkt het condition object niet te werken, daar de andere thread gewoon toegang schijnt te krijgen tot het object!!!
Om een lang verhaal kort te maken en om een opsomming van mijn vraag te maken, is het mogelijk dat pthread methodieken zoals condition object en mutex alleen maar werken met pthreads (welke dus geinstantieerd zijn met pthread_create())??????
Alvast bedankt voor de reacties, en als mijn probleem niet helemaal duidelijk is wil ik graag toelichten