erlug
[Top] [All Lists]

Re: [Erlug] Threads in Linux

To: erlug@xxxxxxxxxxxxxx
Subject: Re: [Erlug] Threads in Linux
From: Davide Bolcioni <db_erlug@xxxxxxxx>
Date: Sun, 04 Jan 2004 19:45:00 +0100
Ivan Sergio Borgonovo ha scritto:
Vorrei cominciare a capire come si usano i threads in Linux e già
dalle mie prime ricerche sono sconcerto.

Un libro chiave: Butenhof, Posix Threads. Accidenti a me a quando
l'ho prestato.

C'è LinuxThreads e NPLT, LinuxThread veccho, NPTL nuovo nella 2.6 e
nelle 2.4 taroccate... perchè si... ci vuole un kernel diverso a
seconda di cosa scegli, e poi c'è RH che patcha... e le
glibc... insomma non ho capito un acca.

Nella documentazione: info libc, cerca POSIX Threads. Nella maggior
parte dei casi, allo sviluppatore interessano i POSIX Threads, perchè
usa quelle API. Kernel, NPTL & C. dovrebbero industriarsi per offrire
tale API, e non siamo tanto lontani.

Però un sacco di soft "serio" e diffusissimo usa i threads e non mi
pare che in proposito nelle dependency ci sia mai stato riferimento al
kernel et similia... qui ho conferma che non ne ho capito un acca.

Il motivo è sopra indicato: sono in glibc.

Visto che mi servirà altra roba (semaphores, pipes, sockets, etc...)
sapete dove possa trovare materiale in rete per una panoramica sul
tutto Linux oriented o in subordine *nix oriented?

Il libro di Butenhof. Il fatto che sia Linux oriented sostanzialmente
vuol dire che sarebbe obsoleta, è un'area in forte evoluzione ma mira
al supporto dello standard POSIX. In alternativa, ma molto in
alternativa, ci sono API alternative tra cui una GNU di cui mi sfugge
il nome.

A qualcuno è passato sotto gli occhi un daemon minimalista, ovvero
comprensibile seguendo il lato oscuro della forza, quello più suadente
e semplice, multithread da scopiazzare (non voglio fare reverse
enginering di Apache per adesso)?

Senza bisogno di reverse engineering, Apache offre APR, Apache Portable
Runtime, forse qualcosa di utile c'è e magari anche documentato. Per il
C++ consiglierei di partire da ACE.

Davide Bolcioni
--
There is no place like /home.


<Prev in Thread] Current Thread [Next in Thread>