У меня есть следующее приложение в flex. Я хочу вызвать два разных удаленных объекта параллельно.Проблемы с параллельными вызовами для удаленных объектов
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
<mx:RemoteObject id="service1" destination="test1" />
<mx:RemoteObject id="service2" destination="test2" />
<mx:Button label="service1" click="{service1.method(1)}" />
<mx:Button label="service2" click="{service2.method(2)}" />
<mx:Button label="service1 AND service2" click="{service1.method(1);service2.method(2)}" />
</mx:Application>
Каждый удаленный объект подключен к другой реализации Java, называемой TestCase1 и TestCase2. Поэтому я бы подумал, что я мог бы вызвать два объекта параллельно и выполнить их параллельно друг другу.
public class TestCase1 {
public void method(int n) {
System.out.println("method(" + n + ") starts");
try {
Thread.sleep(8000);
} catch(InterruptedException e) {}
System.out.println("method(" + n + ") ends");
}
}
public class TestCase2 {
public void method(int n) {
System.out.println("method(" + n + ") starts");
try {
Thread.sleep(8000);
} catch(InterruptedException e) {}
System.out.println("method(" + n + ") ends");
}
}
Теперь, что методы делают, это напечатать sth. когда они вызывают, затем подождите 8 секунд и напечатайте sth. после этого.
При каждом нажатии каждой кнопки он работает, оба метода запускаются параллельно. Однако, вызывая оба метода в одно и то же время, вы оставите одну службу ожидания со своим вызовом, пока не будет выполняться другая.
Как я могу избежать этого?
Thx Philipp
enter code here
Это не будет иметь значение с проблемой вы имеете, но только FYI вам не нужны скобки в обработчики событий. –