PDA

Visualizza la versione completa : [C] esercizi sulla sincronizzazione dei processi


Metallica
14-01-2010, 11:05
Volevo sapere se conoscete qualche guida affidabile, con tanto di esempi, sulla sincronizazzione dei processi. Esercizi banali signal da un lato wait (sono primitive unix?) dall'altro il tutto realizzato in C. Eseguibile anche sotto windows.

Idee? Saluti

YuYevon
14-01-2010, 11:32
Non puoi realizzare un programma ricorrendo all'API POSIX facendolo eseguire anche su Windows, a meno che tu non ricorra a compilatori come mingw (magari con Code::Blocks) che però non offrono un supporto completo all'API in questione. Installati una distro Linux e programma lì, c'hai pure il mitico man a disposizione (se ti installi Ubuntu però dovrai scaricarti le man pages complete perché Ubuntu è... come dire...)

Per quanto riguarda le guide, se vuoi qualcosa di abbastanza completo e indolore (=gratuito) -> GaPiL (http://gapil.truelite.it/), altrimenti "Advanced programming in Unix environment", ben più completo del primo ma piuttosto costoso (volendo essere onesti, si intende), voluminoso e soprattutto inesistente in italiano, se non mi sbaglio.

Metallica
14-01-2010, 12:08
Grazie. Il problema è che io conosco le primitive POSIX e so programmare su Linux.
Adesso dovevo preparare delle lezioni e mi serviva farlo in ambiente windows.

Cmq questa guida mi è tornata utile http://www.codeproject.com/KB/cross-platform/crossplatformmutex.aspx

YuYevon
14-01-2010, 12:28
Sì certo, in pratica con quelle direttive di preprocessore distingui il codice a seconda che il sistema sia linux o windows. Comunque con la libreria pthread sincronizzi thread, non processi (come hai scritto nel titolo del topic). Se ti interessa la sincronizzazione tra thread con i mutex, su quel libro che ti ho linkato non troverai nulla (sfortunatamente, manca proprio la parte sulla libreria pthread, per quanto ci sia il capitolo dedicato), quindi puoi fare riferimento a questa pagina di HacKnowledge (http://blacklight.gotdns.org/wiki/index.php/Sincronizzazione_con_la_libreria_pthread) (by YuYevon :3). Ci sono alcuni esempi, e in generale non dovrebbero esserci scritte boiate :)

simo_us
14-01-2010, 22:53
Se vuoi una guida per la programmazione di threads con la API POSIX qui hai quanto basta:
https://computing.llnl.gov/tutorials/pthreads/

Loading