This question is a fork from: multiprocessing/threading: data appending & output return
I more or less have the same "run" function below, except that instead of appending a Plotly trace object, I am appending the x, y, and z vectors that I will process afterward. The contents of "run" will create random (for argument's sake) x, y, and z vectors (random lengths AND elements) that are to be appended to the input array.
def run(N, data_test):
for running in range N:
...
data_test.append([x_vec, y_vec, z_vec])
...
if __name__ == '__main__':
jobs = []
N = 3
manager = Manager()
data_test = manager.list()
for i in range(N):
p = Process(target=run, args=(N, data_test)
jobs.append(p)
p.start()
The problem is that the same exact process is being run, even each iteration of the for-loop in "run". Please see output below:
For 17 x 17 assembly, 9 x 9 is needed. Your shape: (9, 9)
No neutrons generated for neutron 1
No neutrons generated for neutron 1
No neutrons generated for neutron 1
No neutrons generated for neutron 2
No neutrons generated for neutron 2
No neutrons generated for neutron 2
No neutrons generated for neutron 3
No neutrons generated for neutron 3
No neutrons generated for neutron 3
No neutrons generated for neutron 4
No neutrons generated for neutron 4
No neutrons generated for neutron 4
No neutrons generated for neutron 5
No neutrons generated for neutron 5
No neutrons generated for neutron 5
No neutrons generated for neutron 6
No neutrons generated for neutron 6
No neutrons generated for neutron 6
No neutrons generated for neutron 7
No neutrons generated for neutron 7
No neutrons generated for neutron 7
[[array([-4.22976272, -4.27405131]), array([-2.30184294, -2.69171934]), array([-10.40448512, -10.02764128])], [array([-1.93762109, -5.28861615]), array([ 15.84425545, 11.2366617 ]), array([ 48.19059553, 53.62837897])], [array([-15.81378301, -17.48005479]), array([ 4.09509284, 5.43022322]), array([-49.76008815, -46.75370686])], [array([-4.22976272, -4.27405131]), array([-2.30184294, -2.69171934]), array([-10.40448512, -10.02764128])], [array([-1.93762109, -5.28861615]), array([ 15.84425545, 11.2366617 ]), array([ 48.19059553, 53.62837897])], [array([-15.81378301, -17.48005479]), array([ 4.09509284, 5.43022322]), array([-49.76008815, -46.75370686])], [array([-4.22976272, -4.27405131]), array([-2.30184294, -2.69171934]), array([-10.40448512, -10.02764128])], [array([-1.93762109, -5.28861615]), array([ 15.84425545, 11.2366617 ]), array([ 48.19059553, 53.62837897])], [array([-15.81378301, -17.48005479]), array([ 4.09509284, 5.43022322]), array([-49.76008815, -46.75370686])], [array([-4.22976272, -4.27405131]), array([-2.30184294, -2.69171934]), array([-10.40448512, -10.02764128])], [array([-1.93762109, -5.28861615]), array([ 15.84425545, 11.2366617 ]), array([ 48.19059553, 53.62837897])], [array([-15.81378301, -17.48005479]), array([ 4.09509284, 5.43022322]), array([-49.76008815, -46.75370686])], [array([-4.22976272, -4.27405131]), array([-2.30184294, -2.69171934]), array([-10.40448512, -10.02764128])], [array([-1.93762109, -5.28861615]), array([ 15.84425545, 11.2366617 ]), array([ 48.19059553, 53.62837897])], [array([-15.81378301, -17.48005479]), array([ 4.09509284, 5.43022322]), array([-49.76008815, -46.75370686])], [array([-4.22976272, -4.27405131]), array([-2.30184294, -2.69171934]), array([-10.40448512, -10.02764128])], [array([-1.93762109, -5.28861615]), array([ 15.84425545, 11.2366617 ]), array([ 48.19059553, 53.62837897])], [array([-15.81378301, -17.48005479]), array([ 4.09509284, 5.43022322]), array([-49.76008815, -46.75370686])], [array([-4.22976272, -4.27405131]), array([-2.30184294, -2.69171934]), array([-10.40448512, -10.02764128])], [array([-1.93762109, -5.28861615]), array([ 15.84425545, 11.2366617 ]), array([ 48.19059553, 53.62837897])], [array([-15.81378301, -17.48005479]), array([ 4.09509284, 5.43022322]), array([-49.76008815, -46.75370686])]]
Process finished with exit code 0
What I would like to see, at the least, is the following:
No neutrons generated for neutron 1
No neutrons generated for neutron 2
No neutrons generated for neutron 3
No neutrons generated for neutron 1
No neutrons generated for neutron 2
No neutrons generated for neutron 3
No neutrons generated for neutron 1
No neutrons generated for neutron 2
No neutrons generated for neutron 3
No neutrons generated for neutron 1
No neutrons generated for neutron 2
No neutrons generated for neutron 3
No neutrons generated for neutron 1
No neutrons generated for neutron 2
No neutrons generated for neutron 3
No neutrons generated for neutron 1
No neutrons generated for neutron 2
No neutrons generated for neutron 3
No neutrons generated for neutron 1
No neutrons generated for neutron 2
No neutrons generated for neutron 3
Ultimately, it would be nice to see:
No neutrons generated for neutron 1
No neutrons generated for neutron 2
No neutrons generated for neutron 3
No neutrons generated for neutron 4
No neutrons generated for neutron 5
No neutrons generated for neutron 6
No neutrons generated for neutron 7
No neutrons generated for neutron 8
No neutrons generated for neutron 9
No neutrons generated for neutron 10
No neutrons generated for neutron 11
No neutrons generated for neutron 12
No neutrons generated for neutron 13
No neutrons generated for neutron 14
No neutrons generated for neutron 15
No neutrons generated for neutron 16
No neutrons generated for neutron 17
No neutrons generated for neutron 18
No neutrons generated for neutron 19
No neutrons generated for neutron 20
No neutrons generated for neutron 21
And if you notice the printed arrays in block 2, they are repeating when they should not be i.e. no array should repeat itself and the arrays for each neutron should be unique.