Asynchronous execution of synchronous functions

Axy axy at declassed.art
Mon Sep 26 14:18:27 EDT 2022


> Did you check the ThreadPoolExecutor or the ProcessPoolExecutor? They
> won't give you atomic writes unless you add a Lock or a Condition, but
> they will execute your code in another thread or process.

Yes, I did, but they are too complicated to use. I'd like something for 
humans, such as
asynchronizer = InThreadExecutor()
result = await asynchronizer.run(myfunc, myargs, mykwargs)
and I almost implemented that borrowing code from asyncsqlite (doves fly 
slowly, electric mail is even slower :)), but...
> Keep in mind that Python's threads have a global interpreter lock
> (GIL) that prevents full parallelism. Processes work as expected, but
> require IPC and pickable objects in and out.

yes, that became a problem.
So, I revoke my question. Went out to redesign the whole approach.
Thanks for reply!
Axy.


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /