PThread - Czy wątek wciąż działa?, Mutex

PThread - Czy wątek wciąż działa?, Mutex
AM
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 12 lat
  • Postów:14
0

Hejka.
Czy jest jakaś funkcja, która sprawdzi, czy podany wątek wciąż działa?
Nie chodzi mi tutaj o pthread_join() - blokuje działanie do zakończenia wątku.

Czy do odczytu zmiennej globalnej w wielu wątkach również muszę używać mutexów, czy tylko gdybym zapisywał?

edytowany 2x, ostatnio: AdamMC
Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około godziny
0

Jaki system i jaka platforma?

Microsoft napisał(a)

Simple reads and writes to properly-aligned 32-bit variables are atomic operations. [...] Simple reads and writes to properly aligned 64-bit variables are atomic on 64-bit Windows. Reads and writes to 64-bit values are not guaranteed to be atomic on 32-bit Windows. Reads and writes to variables of other sizes are not guaranteed to be atomic on any platform.

http://msdn.microsoft.com/en-us/library/ms684122(v=vs.85).aspx

Można się spodziewać, że zasady te obowiązują też w innych systemach operacyjnych na x86.

edytowany 1x, ostatnio: Azarien
06
po tagach widać, że chodzi o linuksa ;)
Azarien
tagi obsysają, bo ich nie widać. pthready zresztą też :-)
06
  • Rejestracja:prawie 20 lat
  • Ostatnio:około rok
  • Postów:2440
0

Czy do odczytu zmiennej globalnej w wielu wątkach również muszę używać mutexów, czy tylko gdybym zapisywał?

Jeśli zmienna jest tylko do odczytu, nie musisz. Chyba że odczyt powoduje zmianę stanu tej zmiennej (np. licznik referencji), wtedy musisz synchronizować dostęp.

AM
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 12 lat
  • Postów:14
0

Tak chodzi o Linuksa.
Czytam: http://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.html i niestety nie widzę funkcji służącej do sprawdzenia, czy wątek wciąż działa, dlatego pytam.

06
  • Rejestracja:prawie 20 lat
  • Ostatnio:około rok
  • Postów:2440
0

Jeśli masz u siebie pthread_extendedjoin_np, to użyj tej funkcji.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.