Tema: Re: Java applet ir synchronized metodai
Autorius: toots
Data: 2010-04-08 16:44:22
metodo sinchronizatorius lockina visa objekta. Metodo neuzlockinsi, 
lockinamas koks tai objektas

public synchronized method() yra tas pats kaip

public void method() {
    synchronized(this) {
    }
}

dar galima pasizvalgyt po java.util.concurrent

"Jornada Del Muerto" <ask@me.email> wrote in message 
news:hpkkr8$t4m$1@trimpas.omnitel.net...
> Tai kaip suprantu jei savais zodziais sis metodo modifikatorius lockina 
> kazkoki kvieciama metoda kad kiti lauktu eileje, del to jei tai masyvas 
> tai efektyvu bus jei tik per viena metoda bus su juo dirbama ir tada keli 
> kazkoki threadai nesusipesa, dabar aiskiau :) dekui :)
>
> "toots" <www@mail.com> wrote in message 
> news:hpkkgb$sj8$1@trimpas.omnitel.net...
>> sinchronizavimo principas gan paprastas - rakini (sinchronizuoji) kodo
>> gabala kuri naudos/gali naudoti keli thread'ai. Tas ypac pasakytina apie
>> duomenis, kurie gali but modifikuoti. Jeigu keli Thread'ai gali 
>> modifikuot
>> masyva
>> reikia padaryt tik viena vieta per kuria tas butu daroma, kuria galima 
>> butu
>> sinchronizuot. Tam kad ir modifikuojantis ir skaitantis Threadai butu
>> sinhronizuoti galima tiesiog sinchronizuoti su tuo paciu objektu, pvz
>>
>> public class Dummy {
>>
>> private List list;
>> private Object lock = new Object();
>>
>> public void addValue(Object value) {
>>    synchronized(lock) {
>>        list.add(value);
>>    }
>> }
>>
>> public Object getValue() {
>>    synchronized(lock) {
>>        //skaitom lista
>>    }
>> }
>>
>> tokiu budu jei kas gavo locka ir keicia lista visi kiti stovi eilej ir
>> laukia kol lockas bus laisvas ir jau po to mato pakeista lista.
>>
>> "Jornada Del Muerto" <ask@me.email> wrote in message
>> news:hpk39o$1al$1@trimpas.omnitel.net...
>>> Sveiki,
>>>
>>>    Ne taip senai pradejau dirbt su java, kurti appletus kurie daug dirba
>>> su grafika, na tiksliau zaidimus ir pas mane branduolyje naudojasi
>>> threadas kuris atsako uz ekrano perpiesima bei zaidimo heartbeat 
>>> funkcija
>>> (laikas nuo laiko objektu dalyvaujanciu zaidime apdirbima, toki kaip ju
>>> judejimas, kazkokios kitos life cycle funkcijos). Naudoju gan 
>>> standartine
>>> ideologija, yra scena ir aktoriai (zaidime dalyvaujantys objektai). Na 
>>> ir
>>> zinau apie toki funkciju modifikatoriu kaip synchronized taciau kazkaip
>>> neradau gero aprasymo kaip ji naudoti efektyviai.
>>>
>>>    Vat ir paleidus is eclipse editoriaus rodos viskas graziai veikia, o
>>> jei appletas leidziasi is web tai retkarciais man jis luzteli butent 
>>> darbe
>>> su masyvu kiek pastebejau, kad buna kartais kreipiamasi i jau
>>> neegzistuojanti aktoriu (na jie turi givybe, gali mirti ir tada buna
>>> automatiskai heartbeate pasalinami), kaip suprantu blogai sudeliojas
>>> synchronized modifikatorius ar tai ne visur.
>>>
>>>    Gal kas gali apsviesti kaip ji (synchronized) efektyviai naudoti ir 
>>> kur
>>> tiksliai reikia delioti? as lyg sudejas ant visu zemo lygio funkciju
>>> kurios i masyva kreipiasi bet kartais tai vistiek nutinka, na bet kokia
>>> info kuri paaiskintu tolkom apie synchronized nekenktu..
>>
>>