[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
 

Re: [CPROG] pthreads undren



On Thu, 6 Jan 2000, Simon Lodal wrote:

> 
> 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?

Der bliver lavet en "parent" thread, der blandt andet styrer signaler
mellem trådene. (IIRC).


> 
> 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 :)

Du bør læse pthreads (linuxthreads) FAQ'en. Den er et must for den
indeholder virkeligt meget info der ikke umiddelbart fremgår af man
siderne.

Linuxthreads bruger nogen ikke standard signaler til at styre
programafvikling med. Det er vist beskrevet i faq'en.

> 
> 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?

Du skal _allermindst_ have glibc 2.1.x for at det virker ordentligt.

Husk at bruge -pthread (eller ækvivalent -lpthread -D_REENTRANT) når du
oversætter.

Pthreads har virket for mig, men jeg ville ikke kalde dem det mest nemme
at bruge under Linux.

Mads

-- 
Mads Bondo Dydensborg.                               sslug@sslug
Each generation has the right to determine its own culture. Culture isn't
just symphony orchestras, movies about dead British royalty and hard-bound
books. For some, culture is now also gaming, websites, chat and messaging
systems, TV shows, music and movies. 
                               - Jon Katz, Slashdot, on youth culture.



 
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] *