У меня есть класс, в который я импортирую модуль (назовите его myModule).Среди прочего, я использую этот модуль для объекта, который он предоставляет:
myObject = myModule.ImportantObject()
Этот объект работал нормально, когда я использовал его в классе, пока я не начал использовать многопроцессорность.В частности, в моем классе есть метод с именем go()
, который создает два многопроцессорных процесса (целью которых являются другие методы этого класса), а затем запускает их.Странно то, что после запуска этих процессов все вызовы, относящиеся к myObject
, терпят неудачу, и я также обнаружил, что невозможно создать новый myModule.ImportantObject()
.Эти неудачные вызовы выполняются из целевых методов Процессов и из других методов, которые они сами вызывают.
Последняя интересная часть заключается в том, что myObject
продолжает нормально работать из метода go()
(где была запущена многопроцессорная обработка), но не где еще.
Есть идеи?
* РЕДАКТИРОВАТЬ: myModule - это музыкальный модуль, пытающийся отправлять MIDI-сообщения через виртуальный порт через CoreAudio.