Witam,
piszę aplikację wielowątkową z użyciem synchronize.
Zależy mi na jak największej wydajności, powiedzmy, że każda milisekunda się liczy.
Aplikacja działa tak: napływają do mnie dane z różnych źródeł (udp itp.) ,
Dane przechowuje w klasie - wątku odpowiedzialnym za odbiór danych (wynik jako string) i powstała metoda, która pozwala na pobieranie i analogicznie ustawianie wartości.
public String getData() {
synchronized (lockData) {
return new String(data); //gdzieś wyczytałem, że utworzenie nowego obiektu pozwala na skrócenie locka?
}
}
Jest też wątek nadrzędny, który pobiera dane z tych wątków i zapisuje.
Wydajność nie jest jednak zadowalająca, pojawiają się kilku milisekundowe delaye. Jest możliwe takie zsynchronizowanie, żeby to wydajnie działało? Ktoś ma jakieś doświadczenia?