ты можешь делать то, что сказал Ярл, но этого недостаточно. Хранилища записей не могут обрабатывать параллелизм сами по себе, поэтому, если у вас есть два потока, обращающихся к одному и тому же хранилищу записей, вам нужно будет использовать некоторые блокировки для управления доступом:
В вашей основной теме:
private Object lock = new Object();
public Object getLock() {
return lock;
}
public void retrieveDataFromRS() {
synchronized (getLock()) {
//read, edit, whatever your RS here and release the lock
}
}
В вашей ветке GetDataClass:
public void run() {
synchronized(parentMidlet.getLock()) {
//read, edit, whatever your RS here and release the lock
}
}
вы можете синхронизировать их, используя класс или собственный поток, но создание объекта блокировки дает вам больший контроль, так как вы можете остановить один поток, пока не будет больше данных или что вам нужно, используя getLock (). заставьте поток ждать, пока кто-нибудь не уведомит блокировку, и getLock.notify (), чтобы все потоки, ожидающие блокировки, снова запустились.