ОК, для всех, кто столкнулся с этой проблемой, после небольшого исследования решение для моего варианта использования было довольно простым.
1) Я создал внутренний класс, который реализовал «Runnable».Таким образом, он имел доступ ко всем свойствам окружающего класса.В методе «run» внутреннего класса я сделал вызов AJAX.
2) В исходном методе вверху я создал и запустил внутренний поток класса:
Thread gml = new Thread(new GetModuleList());
gml.start();
3) Делал все остальные вещи, которые не зависели от возврата из gml ...
4) Когда мне это было нужно, я просто делал "gml.join ()".
Кажется, работает нормально, и не так сложно, как я изначально волновался, может быть.Внутренний класс был для меня уловкой - он позаботился обо всем обмене данными потока, пока мой основной поток остается в стороне от свойств, установленных рабочим потоком, до окончания соединения.