TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Linear Exeuction, Multiprocessing, and Multithreading IO-Bound Tasks in Python

10 pointsby zacjszewczykover 5 years ago

3 comments

ebg13over 5 years ago
Whenever I see a blog post on Python concurrency that recommends something other than concurrent.futures ThreadPoolExecutor or ProcessPoolExecutor, I shake my head in disappointment at how far we've strayed from "one obviously right way". Why in 2020 am I seeing someone manually close and join a worker pool (blocking!) to return all results all at once because they rewrote executor.map using multiprocessing? Why do they del pool immediately before returning instead of just letting it run out of scope? Why are they using map, which orders the result, if they just want to call all? If performance matters, you want to read the results in the order of completion not the order of submission, and you don't want to wait for all of them to complete if any of them fail. Where did Python's "right way" go sideways?
评论 #22149114 未加载
Brotkrumenover 5 years ago
&gt;First, terms. Most programs work from top to bottom. The next line runs after the last one finishes. We call these linear<p>Sequential is the term you&#x27;re looking for.
评论 #22148976 未加载
jwandborgover 5 years ago
I&#x27;m 99% sure threads will run on all cores. I think the author has confused multithreading with hyperthreading.
评论 #22148906 未加载
评论 #22148920 未加载