[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

pthreads undren



Jeg sidder lige og forsøger mig lidt frem med threads for første gang
... dybt mystificeret.

Mit program starter. Der er 1 thread; 1 process. Når jeg spawner en
thread første gang, er der pludselig 3 threads med pid's på række. Jeg
er godt klar over at threads er processer (med egen pid), men hvorfor
er der 3?

Hvis jeg laver endnu flere, øges antallet kun med en ad gangen som jeg
forventer, men første gang jeg laver en thread, kommer der altså
tilsyneladende 2 ud af det. Er det normalt?

Er der et eller andet jeg skal gøre for at kunne debugge programmet?
Jeg bruger ddd-3.1.6 (gdb-skal). Den går helt i stå første gang den
kommer til pthread_create(); mister al kontakt med begge threads,
siger noget om at programmet fik et ukendt signal (!), og prøver vist
at finde en lokation i sigsuspend.c, men kan ikke finde filen. Jeg har
prøvet at catche alle signals med sigwait(), og jeg har prøvet at
blocke alle signals med sigprocmask(), men lige meget hjælper det.

Ud over det kører programmet fint, når det ikke lige foregår i
debuggeren :)

Og så til det helt generelle: Jeg har stadig mulighed for lave
kode-designet om til at bruge processer i stedet for threads, lidt
mere UNIX-tro. Det er mere logisk at bruge threads til denne opgave
vil jeg mene, men hvis threads ikke er færdigt udviklede kan det være
ligemeget. Hvad er jeres erfaringer? Bruger I threads? Er det
klippestabilt? Er det til at arbejde med?


Håber nogle kan hjælpe

/Simon



 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 20:08 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *