PDA

View Full Version : Semafori in unix


Algeroth
02-12-2005, 02:50
Ciao a tutti di nuovo,

sono circa le 4 del mattino e continuo a dare testate sui muri; :muro: .
Risolto il problema del file mapping in unix mi trovo di fronte ad un nuovo dilemma:
I SEMAFORI(in unix linguaggio c)

In pratica stò scrivendo un programmino client - server in multithreading, dove i client effettuano delle richieste al server per ricevere determinati servizi.
Il problema stà nel fatto che quando il server deve accedere a delle operazioni comunemente definite come sezioni critiche, non deve permettere a nessun altro di poter farlo entrare in quella stessa sezione fino a quando esso nn ha finito.
Spero di essere stato chiaro :doh: e se nn lo sono stato capirete quanto sono fuso.........

Notte a tutti e grazie :cry:

maulattu
02-12-2005, 09:44
Ciao a tutti di nuovo,

sono circa le 4 del mattino e continuo a dare testate sui muri; :muro: .
Risolto il problema del file mapping in unix mi trovo di fronte ad un nuovo dilemma:
I SEMAFORI(in unix linguaggio c)

In pratica stò scrivendo un programmino client - server in multithreading, dove i client effettuano delle richieste al server per ricevere determinati servizi.
Il problema stà nel fatto che quando il server deve accedere a delle operazioni comunemente definite come sezioni critiche, non deve permettere a nessun altro di poter farlo entrare in quella stessa sezione fino a quando esso nn ha finito.
Spero di essere stato chiaro :doh: e se nn lo sono stato capirete quanto sono fuso.........

Notte a tutti e grazie :cry:

buona lettura:
http://www.advancedlinuxprogramming.com/downloads.html

qui il dowload del libro:
http://www.advancedlinuxprogramming.com/alp-folder

ti consiglio il capitolo 4 e 5
:read:

ilsensine
02-12-2005, 09:52
Il problema stà nel fatto che quando il server deve accedere a delle operazioni comunemente definite come sezioni critiche, non deve permettere a nessun altro di poter farlo entrare in quella stessa sezione fino a quando esso nn ha finito.
Se le librerie pthread sono disponibili anche sul tuo sistema Unix, sei a cavallo ed hai tutti gli oggetti che ti servono.
Più che i semafori, ti servono i mutex (come i pthread_mutex_t). Se la tua sezione critica può essere acceduta dai thread "client" in maniera simultanea senza danni, e le operazioni critiche del thread "server" sono relativamente inferiori agli accessi dei client, puoi avere una maggiore efficienza tramite i read/write lock (pthread_rwlock_t).

andbin
02-12-2005, 09:57
http://www.advancedlinuxprogramming.com/downloads.htmlMolto interessante! :)

Algeroth
02-12-2005, 12:36
Grazie ancora, tutto a posto quel link era davvero interessante.

buona programmazione a tutti

Ciao ciao :D :D :D :D :D :D