Test Admin
28.08.2018
Сравнительные показатели
Уровни абстракции
Если сильно обобщить, можно сказать, что современные языки программирования разделяются на три типа:
- «Быстрые», которые используются для оперативного создания приложений или их прототипов.
- «Инфраструктурные», которые помогают оптимизировать или дорабатывать отдельные части уже написанного приложения для того, чтобы повысить его производительность.
- Так называемые системные языки программирования, использование которых позволяет получить в свое распоряжение полноценный контроль над памятью устройства.
from concurrent.futures import ThreadPoolExecutor from http.client import HTTPException from urllib import request from typing import Union, Dict, Any, List def get_request_task(url: str) -> Union[List[Dict[str, Any]], None]: try: contents = None with request.urlopen(url) as response: contents = response.read() return contents except HTTPException: return None with ThreadPoolExecutor() as executor: for result in executor.map(get_request_task, [ "https://jsonplaceholder.typicode.com/posts", "https://jsonplaceholder.typicode.com/comments", "https://jsonplaceholder.typicode.com/albums" ]): if result is None: print("Something terrible has happened!") else: print(result)