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.
--
https://mail.python.org/mailman/listinfo/python-list