Снять блокировку с метода

Это домашнее задание.

Мне не нужно решение, только небольшое количество ссылок или идей.

Проще говоря, я хочу сделать,

] Простой пример:

public class Example
{
    public void method()
    {
           int x = doThat();
           //Call other methods which do not depend on x
           return;
    }
}

doThat () - это метод, который, как известно, требует много времени, что приводит к блокировке моей программы до получения результатов. И я хочу использовать разные методы этого объекта, но программа заморожена до завершения doThat () . Эти различных методов не обязательно вызывать из метода () , используемого в этом примере, но, возможно, извне объекта.

Я думал об использовании потоков, но если я иметь огромное количество объектов (1000+), это, вероятно, не будет очень эффективным (поправьте меня, если я ошибаюсь, пожалуйста). Думаю, если я использую потоки, мне придется использовать один поток для каждого объекта?

Есть ли другой способ, кроме потоков, который может сделать вызывающий объект не блокируемым при вызове doThat (); ? Если многопоточность - единственный способ, не могли бы вы предоставить ссылку?

Зная, что подобные вопросы получают отрицательные голоса, я приму любые отрицательные голоса. Но, пожалуйста, просто ссылка будет более чем отличной.

Заранее спасибо. Надеюсь, вопрос соответствует правилам.

7
задан Bill the Lizard 18 September 2012 в 14:15
поделиться