Nwlapcug.com


Qual è l'origine di programmazione concorrente?

Gli sviluppatori di utilizzano la concorrenza nei linguaggi di dettare come una delle diverse esecuzioni dovrebbe funzionare allo stesso tempo di programmazione. Attraverso funzionalità di linguaggio di programmazione e le possibilità dell'hardware del computer, un programma può "spawn" altri thread di esecuzione che agiscono allo stesso tempo a svolgere compiti diversi. Spesso, queste attività comunicano con a vicenda, o con altri programmi. Storia della concorrenza nella programmazione risale all'avvento dei computer multiprogrammato e avanza nell'hardware del computer.

Sistemi batch

Il computer originale consentito solo singoli utenti per far funzionare la macchina in un dato momento. Il programmatore di computer sarebbe dato un giro, e la macchina quindi potrebbe accettare il comando di un codice utente alla volta. Da questo è venuto "" operazioni batch,"significa che il programmatore vorrei ordinare i suoi programmi in un ordine specifico, e quindi il computer sarebbe automaticamente eseguirli in quell'ordine senza fermarsi se non per errore. Sistemi batch avevano solo un thread di esecuzione: il thread principale del programma.

Multiprogrammato sistemi

Dopo sistemi batch è venuto multiprogrammati sistemi. Questi sistemi gestiti più programmi da loro memorizzazione nella memoria e l'allocazione di tempo del processore ai programmi in esecuzione non mentre altri programmi eseguire determinate attività, ad esempio operazioni i/o. Sistemi Multiprogramma fece sembrare che più programmi correva in una sola volta. Piuttosto, il processore gestisce i programmi uno alla volta rapidamente e in pezzi. Tuttavia, la possibilità di accedere a ogni programma in modo consente a più thread di esecuzione all'interno di un dato sistema.

Canali

A fianco di multiprogrammazione, l'invenzione dei canali nel 1962 contribuì alla Fondazione della programmazione concorrente. Canali di controllo dispositivi separati in modo indipendente. Programmi che essere coinvolti con il processo dei/o, ad esempio la stampa a monitor, possono richiedere molto più tempo rispetto a operazioni nel processore. Così, quando un programma per computer entra in un'operazione dei / o, il computer può scegliere di non attendere che il programma di finire e lasciare che un altro programma di utilizzare la CPU.

Programmazione concorrente

Programmazione concorrente sfrutta processori consente di eseguire più applicazioni in un ambiente di multiprogrammazione quando delega di compiti per la CPU e le periferiche dei / o. Nel 1960, problemi di concorrenza derivanti dalla corruzione dei dati condivisi per l'inaffidabilità di un sistema con più corse thread di esecuzione erano per lo più problemi per i progettisti di sistema operativo. Con l'avvento dell'informatica in rete nel 1970, il ruolo della concorrenza nel settore delle comunicazioni è venuto alla ribalta, e i metodi con cui i programmi eseguiti thread simultanei è diventato più raffinati. Ora, la maggior parte delle lingue supportano una sorta di concorrenza.