mirror of https://github.com/python/cpython
#9801: document how list and dict proxies created by Managers behave w.r.t. mutable items.
This commit is contained in:
parent
c1c4bf85c1
commit
3ed4114f7d
|
@ -1284,6 +1284,24 @@ their parent process exits. The manager classes are defined in the
|
|||
|
||||
Create a shared ``list`` object and return a proxy for it.
|
||||
|
||||
.. note::
|
||||
|
||||
Modifications to mutable values or items in dict and list proxies will not
|
||||
be propagated through the manager, because the proxy has no way of knowing
|
||||
when its values or items are modified. To modify such an item, you can
|
||||
re-assign the modified object to the container proxy::
|
||||
|
||||
# create a list proxy and append a mutable object (a dictionary)
|
||||
lproxy = manager.list()
|
||||
lproxy.append({})
|
||||
# now mutate the dictionary
|
||||
d = lproxy[0]
|
||||
d['a'] = 1
|
||||
d['b'] = 2
|
||||
# at this point, the changes to d are not yet synced, but by
|
||||
# reassigning the dictionary, the proxy is notified of the change
|
||||
lproxy[0] = d
|
||||
|
||||
|
||||
Namespace objects
|
||||
>>>>>>>>>>>>>>>>>
|
||||
|
|
Loading…
Reference in New Issue