Ich verwende Multi-Thread zur Bildverarbeitung.Wie kann die Speichernutzung im Multithreading gesteuert werden?
Es funktioniert gut auf meinem Computer, der genug Speicher (erhöht 2 ~ 3 GB bei der Verarbeitung von vielen Bildern), aber mein Server hat nur 1 GB Speicher und der Code nicht richtig funktioniert.
Manchmal mit Segmentation fault
enden, manchmal:
Exception in thread Thread-13:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 763, in run
self.__target(*self.__args, **self.__kwargs)
File "passportRecognizeNew.py", line 267, in doSomething
...
Code:
import threading
def doSomething(image):
# picture processing code
print("processing over")
threads = []
for i in range(20):
thread = threading.Thread(target=doSomething, args=("image",))
threads.append(thread)
for t in threads:
t.setDaemon(True)
t.start()
t.join()
print("All over")
Wie diese oder irgendeine Art und Weise zu lösen, die Speichernutzung zu kontrollieren?
Danke für die Liste, die mich wissen lassen, wo ich anfangen soll. – tomfriwel