ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ PYTHON

Python - один из популярных языков программирования используется в сферах разработки веб-приложений, анализа данных. Однако, Python также предоставляет возможности для параллельного программирования с помощью соответствующих библиотек.

Для параллельного выполнения кода в Python есть несколько подходов:

Один из способов реализации многопоточности - использование библиотеки threading. Пример использования:

import threading

def print_hello():
    print("Hello")

def print_world():
    print("World")

t1 = threading.Thread(target=print_hello)
t2 = threading.Thread(target=print_world)

t1.start()
t2.start()

t1.join()
t2.join()

Результат выполнения:

Hello
World

Библиотека multiprocessing позволяет использовать несколько процессов для параллельного выполнения кода. Пример использования:

import multiprocessing

def print_hello():
    print("Hello")

def print_world():
    print("World")

if __name__ == '__main__':
    p1 = multiprocessing.Process(target=print_hello)
    p2 = multiprocessing.Process(target=print_world)

    p1.start()
    p2.start()

    p1.join()
    p2.join()

Результат выполнения:

Hello
World

Библиотека asyncio позволяет создавать асинхронный код, что позволяет параллельно выполнять несколько задач в одном потоке. Пример использования:

import asyncio

async def fetch_data(url):
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as response:
            return await response.text()

async def print_hello():
    print("Hello")
    await asyncio.sleep(1)
    print("World")

async def main():
    task1 = asyncio.create_task(print_hello())
    task2 = asyncio.create_task(fetch_data("https://example.com"))

    results = await asyncio.gather(task1, task2)

asyncio.run(main())

Python - Полный Курс по Python [10 ЧАСОВ]

Параллельное программирование на Python

Потоки в Python за 5 минут

МНОГОПОТОЧНОСТЬ НА PYTHON - МОДУЛЬ THREADING

Типизированный Python для профессиональной разработки — теория и практика [2022]

Python programmer vs C programmer (speedrun)

Если бы я начал учить программирование сейчас. Советы спустя 10 лет

Многопоточность и GIL

BLGPG-EADAC0167CB2-24-11-23-22

Новые материалы: