Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 30.6.2012, 16:44   #1
Ivan452
Veteran
 
Član od: 25.7.2008.
Lokacija: Beograd
Poruke: 772
Zahvalnice: 33
Zahvaljeno 189 puta na 152 poruka
Slanje poruke preko MSN-a korisniku Ivan452
Određen forumom Java konkurentnost

Pozdrav,

Ako imam 2 staticke metode npr. UpisiUFajl i CitajIzFajla koje barataju sa istim tekstualnim fajlom, a imam i vise niti koje mogu da pozivaju te metode. Da li je dovoljno da metode stavim kao synchronized ili bih morao (zato sto su 2 razlicite funkcije a 1 fajl) da se okrenem nekom drugom tipu resavanja problema?
Ivan452 je offline   Odgovor sa citatom ove poruke
Stara 3.7.2012, 15:01   #2
pyost
Član
 
Član od: 30.10.2005.
Lokacija: Vancouver, BC
Poruke: 475
Zahvalnice: 48
Zahvaljeno 95 puta na 75 poruka
Određen forumom Re: Java konkurentnost

Dodavanjem synchronized će se vršiti sinhronizacija na nivou klase, pa je to ono što ti treba (pretpostavljam da su obe metode u istoj klasi).

Analogno, kada metode ne bi bile statičke, sinhronizacija bi se vršila na nivou objekta, tj. ne bi istovremeno mogle da se izvršavaju dve metode istog objekta.
pyost je offline   Odgovor sa citatom ove poruke
Stara 3.7.2012, 15:24   #3
Ivan452
Veteran
 
Član od: 25.7.2008.
Lokacija: Beograd
Poruke: 772
Zahvalnice: 33
Zahvaljeno 189 puta na 152 poruka
Slanje poruke preko MSN-a korisniku Ivan452
Određen forumom Re: Java konkurentnost

Resio sam da upotrebim reentrant lock. Jer mi je potrebno vise citalaca a jedan pisac.

Ali, cisto da budem siguran sto se ovoga tice jer mi i dalje nije jasno synchronized.

ako imam npr dve metode:
1. public static synchronized citaj1()
2. public static synchronized citaj2()
Koje obe rade istu stvar npr. citaju isti fajl

Da li to znaci da kada mi nit1 pozove citaj1() nit2 ne moze da izvrsi citaj2() sve dok nit1 ne zavrsi sa citaj1() ?

A sto se tice ne statickih metoda. Ako imam isto dve funkcije (samo bez static) koja se nalaze u jednoj klasi od koje ja napravim 2 objekta Objekat1 i Objekat2.
Da li to znaci da:
Ako nit1 pozove Objekat1.citaj1() nit2 ne moze da pozove Objekat1.citaj2()

Ali, ako nit1 pozove Objekat1.citaj1() i nit2 pozove Objekat2.citaj2() to ce proci?

Poslednja ispravka: Ivan452 (3.7.2012 u 17:40)
Ivan452 je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Java - out of Memory Vajsmilan Aplikativni softver 6 6.2.2012 20:54
Android - pozivanje Java metoda iz native koda voodoo_ Programiranje 5 14.10.2011 8:59
Samsung D600 Java upload (USB cable) Aleksandar Programi za mobilne telefone 0 16.6.2008 13:54
Jel' se ovo misli na Java Script ili? Tim85 Internet tehnologije 2 7.12.2006 12:33
G-thing program za LG(imam U8180) za java igre trazim gde ima? besplatno?trial? Ilic Marko Programi za mobilne telefone 1 9.2.2006 14:09


Sva vremena su po Griniču +2 h. Sada je 10:44.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com