Matteo 'Ndwr' Russo

...because there are no days without revolutions.
* Notizie* Lavori* Progetti   * Construct   * Tess   * Opengroups      * CCP      * SCP   * VES      * SS      * ES   * AS   * DMS      * TS   * TPL   * RVD   * CL      * libCGL      * libCSL      * libMixer      * libCTL      * libCIL      * libCVL   * RCGV   * RU1* Pensieri e Articoli* Macchine* Contatti

 

Radioattività ambientale
Zona: Venezia, Italia
Tipo: Radiazioni ionizzanti β/γ

 0.00%

Corrente: 0 μSv/h
Media annuale: 0.00 μSv/h
Accumulo annuale: 0.000 mSv

* Spazio   * Sistemi di lancio      * I razzi sonda      * Delta II      * Soyuz-U      * Soyuz      * Soyuz-FG      * Soyuz-2   * ACE      * Strumentazione         * MAG         * SWEPAM         * SIS         * EPAM      * Locazione   * SOHO      * Antenne HGA/LGA      * Strumentazione         * EIT            * CCD         * LASCO         * MDI   * STEREO      * Strumentazione   * AMS-01   * AMS-02      * Strumentazione      * Materia oscura   * EOS AM-1      * Strumentazione         * MODIS
 
http://ndwr.net --> Progetti --> CL --> libCTL
 

Construct Thread Library

2008 ~ Oggi
Dipendenze: -


Introduzione

CTL è una libreria esterna multipiattaforma utile a gestire processi e oggetti a mutua esclusione in modo particolarmente immediato. Inizialmente l'avevo creata solo al fine di effettuare alcune prove di rendering utilizzando più processi paralleli; ora è utilizzata principalmente dalla nuova versione del sistema audio di Construct.

Le piattaforme correntemente supportate sono Windows e GNU/Linux.

Tramite numerose funzioni è possibile:
- Creare un processo, specificando il puntatore di una funzione e un argomento.
- Eliminare forzatamente un processo.
- Attendere finché un determinato processo finisce di effettuare le operazioni per il quale è stato creato.
- Creare un oggetto a mutua esclusione (mutex).
- Eliminare un oggetto a mutua esclusione.
- Bloccare un risorsa a mutua esclusione specificata.
- Sbloccare una risorsa a mutua esclusione specificata.

Il richiamo esterno dei processi e degli oggetti avviene tramite variabili intere e puntatori nulli, in modo da poter utilizzare un unico tipo di elemento identificativo tra differenti sistemi.
Il sistema si occupa internamente della gestione, allocazione, e eliminazione dei processi, semplicemente specificando l'identificativo salvato in fase di aggiunta del processo.