Я новичок в многопроцессорности с Python. У меня есть java функция для использования в Python, я использовал jpype, чтобы обернуть функцию. Мне нужно использовать функцию с многопроцессорной обработкой, и я использовал следующий блок кода для запуска функции.
data_split = np.array_split(data, num_of_processes)
ctx = mp.get_context("spawn")
pool = ctx.Pool(num_of_processes)
data = pd.concat(pool.map(func, data_split))
pool.close()
pool.join()
Но код выдает ошибку
Can't pickle <java class 'java.lang.String'>: attribute lookup java.lang.String on jpype._jstring failed
Я прочитал документацию jpype о многопроцессорности, и есть предложение, которое говорит, что очередь должна быть обернута JPickle, но я не мог понять.
Это можно преодолеть, обернув очередь для первого кодирования в поток байтов с использованием пакета JPickle
Как я могу реализовать эту упаковку пула? Что такое указанная библиотека?