- MWC 2026: Úgy kell ide az aktív hűtés, mint kígyónak a sportcipő
- Milyen okostelefont vegyek?
- Xiaomi 11 Lite 5G NE (lisa)
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Xiaomi 15 - kicsi telefon nagy energiával
- Telekom mobilszolgáltatások
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- iPhone topik
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Fotók, videók mobillal
Ú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?:))
- Micro Four Thirds
- EAFC 26
- Sütés, főzés és konyhai praktikák
- Fejhallgató erősítő és DAC topik
- GoodSpeed: Daikin FTXF35E / RXF35F Sensira 3,3 kW Inverteres klíma - a Sztori
- Eredeti játékok OFF topik
- Autós topik
- Szeged és környéke adok-veszek-beszélgetek
- aquark: Zsebszámológépek
- PlayStation 5
- További aktív témák...
- Bomba ár! Lenovo ThinkPad T460s - i5-6GEN I 12GB I 256GB SSD I 14" FHD I Cam I W11 I Garancia!
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- MacBook Pro 14" 2023 M3 Pro 12/18 mag, 36 GB RAM, 512GB SSD - 27% ÁFA 0372AB
- Telefon felvásárlás!! Samsung Galaxy S21/Samsung Galaxy S21+/Samsung Galaxy S21 Ultra
- AKCIÓ! Asus TUF A16 2024 FA607NUG Gamer notebook - R7 7445HS 16GB DDR5 1TB SSD RTX 4050 6GB
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


