Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #61187
| From | Gregory Ewing <greg.ewing@canterbury.ac.nz> |
|---|---|
| Newsgroups | comp.lang.python |
| Subject | Re: Embedding multiple interpreters |
| Date | 2013-12-07 11:23 +1300 |
| Message-ID | <bgf12uF5qjqU1@mid.individual.net> (permalink) |
| References | <mailman.3620.1386298086.18130.python-list@python.org> <bgdat9FouohU1@mid.individual.net> <52A183F8.7000807@entropicsoftware.com> <CAPTjJmq2udX39gxCLjfNWGyeTzMAsHJDHOwXHojNM7Yq18OH7g@mail.gmail.com> <mailman.3635.1386324216.18130.python-list@python.org> |
Garthy wrote: > The bare minimum would be > protection against inadvertent interaction. Better yet would be a setup > that made such interaction annoyingly difficult, and the ideal would be > where it was impossible to interfere. To give you an idea of the kind of interference that's possible, consider: 1) You can find all the subclasses of a given class object using its __subclasses__() method. 2) Every class ultimately derives from class object. 3) All built-in class objects are shared between interpreters. So, starting from object.__subclasses__(), code in any interpreter could find any class defined by any other interpreter and mutate it. This is not something that is likely to happen by accident. Whether it's "annoyingly difficult" enough is something you'll have to decide. Also keep in mind that it's fairly easy for Python code to chew up large amounts of memory and/or CPU time in an uninterruptible way, e.g. by evaluating 5**100000000. So even a thread that's keeping its hands entirely to itself can still cause trouble. -- Greg
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Embedding multiple interpreters Garthy <garthy_nhtyp@entropicsoftware.com> - 2013-12-06 13:04 +1030
Re: Embedding multiple interpreters Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2013-12-06 19:58 +1300
Re: Embedding multiple interpreters Garthy <garthy_nhtyp@entropicsoftware.com> - 2013-12-06 18:29 +1030
Re: Embedding multiple interpreters Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2013-12-07 11:09 +1300
Re: Embedding multiple interpreters Garthy <garthy_nhtyp@entropicsoftware.com> - 2013-12-07 11:27 +1030
Re: Embedding multiple interpreters Garthy <garthy_nhtyp@entropicsoftware.com> - 2013-12-06 18:51 +1030
Re: Embedding multiple interpreters Chris Angelico <rosuav@gmail.com> - 2013-12-06 19:33 +1100
Re: Embedding multiple interpreters Chris Angelico <rosuav@gmail.com> - 2013-12-06 20:27 +1100
Re: Embedding multiple interpreters Garthy <garthy_nhtyp@entropicsoftware.com> - 2013-12-06 20:05 +1030
Re: Embedding multiple interpreters Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2013-12-07 11:23 +1300
Re: Embedding multiple interpreters Garthy <garthy_nhtyp@entropicsoftware.com> - 2013-12-07 11:01 +1030
Re: Embedding multiple interpreters Garthy <garthy_nhtyp@entropicsoftware.com> - 2013-12-06 20:14 +1030
Re: Embedding multiple interpreters Tim Golden <mail@timgolden.me.uk> - 2013-12-06 10:17 +0000
Re: Embedding multiple interpreters Chris Angelico <rosuav@gmail.com> - 2013-12-06 22:57 +1100
Re: Embedding multiple interpreters Garthy <garthy_nhtyp@entropicsoftware.com> - 2013-12-07 00:26 +1030
Re: Embedding multiple interpreters Garthy <garthy_nhtyp@entropicsoftware.com> - 2013-12-07 00:34 +1030
csiph-web