Tema: Re: Java applet ir synchronized metodai
Autorius: Jornada Del Muerto
Data: 2010-04-08 16:14:16
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.. 
> 
>