Sobes.tech
Back to questions
Junior — Middle
71

Объясните концепцию параллельных процессов или потоков выполнения в программировании.

Companies where asked
Soft Media Group
Фабрика РешенияФабрика Решения

Answer from AI

sobes.tech AI

Параллельные процессы и потоки выполнения позволяют программе выполнять несколько задач одновременно, что повышает эффективность и скорость работы.

  • Процессы — это независимые экземпляры программы с собственной памятью. Они изолированы друг от друга.
  • Потоки (threads) — это легковесные единицы выполнения внутри процесса, которые разделяют память и ресурсы процесса.

В Python для параллелизма можно использовать:

  • Модуль threading для потоков — подходит для задач с большим количеством ввода-вывода.
  • Модуль multiprocessing для процессов — позволяет обойти ограничение GIL и эффективно использовать несколько ядер CPU.

Пример с потоками:

import threading

def worker(num):
    print(f'Поток {num} выполняется')

threads = []
for i in range(5):
    t = threading.Thread(target=worker, args=(i,))
    threads.append(t)
    t.start()

for t in threads:
    t.join()

Этот код запускает 5 потоков, которые выполняются параллельно.