오늘 나는이 게시물 Multiprocessing Error with Results을 작성했습니다. 구조가없는 다중 처리 인쇄 명령
import multiprocessing
class class1():
def classfunction1(self, a):
self.x = a
print("class 1")
class class2():
def classfunction2(self, a):
self.y = a
print("class 2")
def test(i):
print("I'm in the Testfunction")
b = i * class1.x * class2.y
return b
def init(): # added
print("I'm in the Initfunction")
global class1, class2
class1 = class1()
class2 = class2()
x = 1
y = 2
class1.classfunction1(x)
class2.classfunction2(y)
if __name__ == "__main__":
init() # explicit call here
print("This variable is callable", class1.x)
print("And this one is also callable", class2.y)
counter = []
for i in range(10):
counter.append(i)
pool = multiprocessing.Pool(initializer=init, processes=4) # implicit call
results = pool.imap(test, counter)
pool.close()
pool.join()
resultslist = list(results)
print(resultslist)
내가 클래스에 일부 인쇄 명령을 삽입 :
는 지금은이 스크립트를 수정했습니다. 그러나 결과는이 같은 structureless 인쇄 인 : 난 그냥 한 번에 원하는 클래스의
I'm in the Initfunction
class 1
class 2
This variable is callable 1
And this one is also callable 2
I'm in the Initfunction
class 1
class 2
I'm in the Testfunction
I'm in the Testfunction
I'm in the Testfunction
I'm in the Testfunction
I'm in the Testfunction
I'm in the Testfunction
I'm in the Testfunction
I'm in the Testfunction
I'm in the Testfunction
I'm in the Testfunction
I'm in the Initfunction
class 1
class 2
I'm in the Initfunction
class 1
class 2
I'm in the Initfunction
class 1
class 2
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
프린트 물 ... 텍스트 만 내가 여러 (10 회) 원하는 "나는 Testfunction에있어".
가능성이있는 해결책이 있습니까?
예제 코드를 제공해 주시겠습니까? 나는 당신이 그 의미를 정확히 이해하지 못한다 ... – John28