import curses from screen import Screen from multiprocessing import Process, Pool, cpu_count import numpy as np s = Screen() np.random.seed(1234) def worker(arr): return arr * 2 + 1 s.clear_screen() s.refresh_screen() s.add_str_to_scr("Start processing data...") s.linebreak() s.linebreak() s.refresh_screen() data_arr = np.random.rand(8, int(1e7)) with Pool(cpu_count()) as p: buffer = p.map(worker, [data_arr[row] for row in np.ndindex(data_arr.shape[0])]) s.add_str_to_scr("...finished processing:") s.linebreak() s.linebreak() s.refresh_screen() for row in buffer: s.add_str_to_scr(row[0:3]) s.linebreak() s.refresh_screen()