variable global cambiante al multiprocesamiento en python

Entonces, lo que estoy tratando de hacer en última instancia es leer una línea, hacer algunos cálculos con la información en esa línea, luego agregar el resultado a algún objeto global, pero parece que nunca puedo hacer que funcione. Por ejemplo, la prueba siempre es 0 en el código siguiente. Sé que esto está mal, y he intentado hacerlo de otras maneras, pero aún no funciona.

import multiprocessing as mp

File = 'HGDP_FinalReport_Forward.txt'
#short_file = open(File)
test = 0

def pro(temp_line):
    global test
    temp_line = temp_line.strip().split()
    test = test + 1
    return len(temp_line)

if __name__ == "__main__":
    with open("HGDP_FinalReport_Forward.txt") as lines:
        pool = mp.Pool(processes = 10)
        t = pool.map(pro,lines.readlines())

Respuestas a la pregunta(2)

Su respuesta a la pregunta