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

Reply via email to