Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Gurulunk, WAZE?!
- Navaren: Resident Evil Requiem szösszenet
- balojazz: Szódakészítés üzembiztosan és olcsón! Figyelem, csak hardcore szódázóknak!
- MasterDeeJay: Egy nem átlagos Asus videókártya (GTX950M 2GB GDDR3)
- sziku69: Szólánc.
- suste: Openwrt Barrier Breaker 14.07 saját verzió Tp-link routerekre
- Luck Dragon: MárkaLánc
- Oldman2: A KOReader ebook olvasó program
Új hozzászólás Aktív témák
-
loszerafin
senior tag
Próbálkozom a thread-ekkel és elakadtam.
a run() metódusom szinkronizált, egy ciklusban a cnt mezőhöz hozzáad egyet, majd ki is von.
A main()-ben 500 msec-enként kiírom a cnt értékét. A kimenet hol 0, hol egy. Nyilván, a main() metódust futtató szál println-ja ''beüt'' a cnt-hez hozzáadó és abból kivonó utasítás közé. Hogy lehet ezt elkerülni?
class Counter1 {
static int cnt = 0;
static boolean end = false;
static class ModCounter implements Runnable {
public synchronized void run() {
while(!end){
cnt += 1;
cnt -= 1;
}
}
}
public static void main(String[] args)
throws InterruptedException{
ModCounter modc = new ModCounter();
Thread t1 = new Thread(modc);
t1.start();
for(int i=0; i<10; i++){
System.out.println(cnt);
Thread.sleep(500);
};
end = true;
t1.join();
System.out.println(cnt);
}
}
Kimenet:
0
1
1
0
0
1
1
1
0
1
0
Szeretném, ha csupa 0 jelenne meg.
Próbáltam a kiírást szinkronizálni:
synchronized (Counter1.class) {
System.out.println(cnt);
};
De semmi változás.
Előre is köszönöm
KL
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Xbox Elite Series 2 kontroller 3 hó garancia, számlával!
- LG UltraGear 32GS94UX-B OLED Monitor! 3840x2160 / 480Hz / 0.03ms / G-Sync / FreeSync! BeszámítOK
- GAMER PC! i7-10700F / RTX 3070 / B460-Plus / 16GB DDR4 / SSD 512GB / BeszámítOK!
- BESZÁMÍTÁS! MSI B450M R5 5600X 16GB DDR4 512GB SSD RTX 3060Ti 8GB Rampage SHIVA EVGA 700W
- 3év! AKCIÓ! ÚJ ASUS TUF GAMING Geforce RTX 5080 OC Edition 16GB VRAM Ray Tracing DLSS4
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
