Ich bin ein Wörterbuch zwischen Prozessen teilen und jeder Prozess fügt einen Eintrag in das dict, wobei der Wert für die Schlüssel im Wörterbuch eine Liste oder eine gdb.Value-Instanz sein kann. Jedes Verfahren ist so etwas wie diesesPython multiprocessing.Manager dict enthält Wert eine Liste
mydict["key"] = [[2], gdb.Value(someaddress), 3, 4]
tun Wenn die obige Zeile ausgeführt wird ich den unten Fehlermeldung erhalten, sieht aus wie seine weil ich gdb.Value bin Einfügen funktioniert dies, wenn im Falle eines Objekts() Instanz
Traceback (most recent call last):
File "/test.py", line 631, in insert
mydict["key"] = [[2], 1, 3, 4]
File "<string>", line 2, in __setitem__
File "/usr/lib/python2.7/multiprocessing/managers.py", line 774, in _callmethod
raise convert_to_error(kind, result)
RemoteError:
---------------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python2.7/multiprocessing/managers.py", line 240, in serve_client
request = recv()
TypeError: Value object creation takes only 1 argument
ich sehe ein anderes Problem auch über die dict Looping gibt mir unter Fehler
Traceback (most recent call last):
File "/test.py", line 1214, in <module>
for item in mydict:
File "<string>", line 2, in __getitem__
File "/usr/lib/python2.7/multiprocessing/managers.py", line 774, in _callmethod
raise convert_to_error(kind, result)
, wie ich wurde behoben gdb.Value zu Python int umgewandelt/lang und gespeichert es stattdessen – PMat