Python va bene per la concorrenza?
Python va bene per la concorrenza?

Video: Python va bene per la concorrenza?

Video: Python va bene per la concorrenza?
Video: PYTHON Cos'è e a cosa serve 2024, Novembre
Anonim

Pitone non è molto Buona per CPU-bound simultaneo programmazione. Il GIL (in molti casi) farà funzionare il tuo programma come se fosse in esecuzione su un singolo core - o anche peggio. Se la tua applicazione è associata a I/O, Pitone può essere una soluzione seria in quanto il GIL viene normalmente rilasciato durante le chiamate di blocco.

Inoltre, c'è da sapere che Python supporta la concorrenza?

Python lo fa avere librerie integrate per i più comuni simultaneo costrutti di programmazione - multiprocessing e multithreading. Il motivo è il multithreading in Pitone non è realmente multithreading, a causa del GIL in Pitone.

Ci si potrebbe anche chiedere, perché il multithreading non è possibile in Python? L'interprete CPython (per puro Pitone code) forzerà il rilascio del GIL ogni cento byte di istruzioni del codice. Consente semplicemente l'esecuzione di un solo thread alla volta all'interno dell'interprete. Quindi multiprocesso non multithreading ti permetterà di ottenere una vera concorrenza.

Successivamente, la domanda è: Python è adatto al multithreading?

Pitone non permette multi-threading nel vero senso della parola. Ha un multi-threading pacchetto ma se vuoi multi thread per velocizzare il codice, di solito non è un Buona idea di usarlo. Pitone ha un costrutto chiamato Global Interpreter Lock (GIL).

Quale modulo può essere utilizzato per implementare la concorrenza in Python 3?

Il simultaneo . futures modulo è stato aggiunto in Pitone 3.2. Secondo il Pitone documentazione fornisce allo sviluppatore un'interfaccia di alto livello per l'esecuzione asincrona dei callable.

Consigliato: