[pypy-dev] PyParallel-style threads

Omer Katz omer.drow at gmail.com
Tue Jun 21 10:17:42 EDT 2016


I’m not familiar with C blocks and GCD.
How would Python code look with that approach?
> On 20 Jun 2016, at 6:02 PM, Michał Domański <mdomans at gmail.com> wrote:
> 
> So I actually thought about similar approach. I was curious what do you think about approach to concurrency similar to what Apple did with C blocks and GCD. That is: enable threading but instead of the STM approach have fully explicit mutations within atomic blocks
> 
> 2016-06-20 16:53 GMT+02:00 Armin Rigo <arigo at tunes.org <mailto:arigo at tunes.org>>:
> Hi Omer,
> 
> On 20 June 2016 at 08:51, Omer Katz <omer.drow at gmail.com <mailto:omer.drow at gmail.com>> wrote:
> > As for implementation, if we can trace the code running in the thread and
> > ensure it's not mutating global state and that CPyExt is never used during
> > the thread's course we can simply release the GIL when such a thread is run.
> 
> That's a very hand-wavy and vague description.  To start with, how do
> you define exactly "not mutating global state"?  We are not allowed to
> write to any of the objects that existed before we started the thread?
>  It may be possible to have such an implementation, yes.  Actually,
> that's probably easy: tweak the STM code to crash instead of doing
> something more complicated when we write to an old object.
> 
> I'm not sure how useful that would be---or how useful PyParallel is on
> CPython.  Maybe if you can point us to real usages of PyParallel it
> would be a start.
> 
> 
> A bientôt,
> 
> Armin.
> _______________________________________________
> pypy-dev mailing list
> pypy-dev at python.org <mailto:pypy-dev at python.org>
> https://mail.python.org/mailman/listinfo/pypy-dev <https://mail.python.org/mailman/listinfo/pypy-dev>
> 
> 
> 
> -- 
> ---------------------------
> Michał Domański

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pypy-dev/attachments/20160621/7b4cd7e6/attachment-0001.html>


More information about the pypy-dev mailing list