- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- HiFi műszaki szemmel - sztereó hangrendszerek
- Tiszta szolárium: élőben brutális a TLC új SQD-Mini LED-es csúcsmodellje
- Mégsem lettek annyira pénztárcabarátok az új Intel CPU-k
- Windows 11: miért nem vált mindenki?
- Gaming notebook topik
- Milyen billentyűzetet vegyek?
- Épített vízhűtés (nem kompakt) topic
- TCL LCD és LED TV-k
- AMD Navi Radeon™ RX 9xxx sorozat
Ú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?:))
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Friss információk és képek a OnePlus új órájáról
- HiFi műszaki szemmel - sztereó hangrendszerek
- Debrecen és környéke adok-veszek-beszélgetek
- Futás, futópályák
- Tiszta szolárium: élőben brutális a TLC új SQD-Mini LED-es csúcsmodellje
- Elkalapálta a snapdragonos Galaxy S26 az exynososat
- BestBuy topik
- Villanyszerelés
- Mégsem lettek annyira pénztárcabarátok az új Intel CPU-k
- További aktív témák...
- AZONNAL KÉSZLETRŐL! Intel Core i5 14600K 32GB 6000MHz RAM 2TB Gen4 SSD RTX 5060 8GB FSP 750W
- Telefon felvásárlás!! Xiaomi Redmi Note 12, Xiaomi Redmi Note 12 Pro, Xiaomi Redmi Note 12 Pro+
- 3DKRAFT.HU - 3D NYOMTATÁS - AZONNALI ÁRAJÁNLAT - GYORS KIVITELEZÉS - 510+ POZITÍV ÉRTÉKELÉS
- S21 256/8 dobozában
- iPhone 15 Pro Max 256GB 84% (1év Garancia)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

