Что касается обеспечения доступности объектов в Java, нет разницы между многопоточностью и однопоточностью.Вы просто следуете правилам области действия (общедоступным, частным, защищенным), и все.Несколько потоков выполняются в одном и том же процессе, поэтому нет никаких специальных правил области видимости только для потоков.
Например, определите метод, в который вы передаете объект, и сделайте этот метод доступным издругая нить.Объект, который вы хотите передать, просто должен быть доступен из области видимости другого потока.
Что касается безопасности потока, , вы можете синхронизировать записи , и по большей части этопозаботится о вещах.Потокобезопасность может стать немного сложнее, чем сложнее ваш код, но я думаю, что это поможет вам начать.
Один из методов обработки объектов и создания объектов результатов - иметь общий массив или LinkedList, который действует какочередь объектов, содержащая объекты для обработки и результирующие объекты этой обработки.Трудно вдаваться в подробности, не вдаваясь в подробности того, что именно вы пытаетесь сделать, но большая часть общего доступа к объектам между потоками сводится либо к вызовам методов между потоками, либо к некоторой общей коллекции / очереди объектов.