- Tényleg nem biztos, hogy lesz Galaxy S26 Edge
- Fotók, videók mobillal
- Kisebb, könnyebb, kitartóbb: szupermobillal hűti a Honor a kedélyeket
- Xiaomi 15 - kicsi telefon nagy energiával
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Még annál is egyedibbé tehetjük a Realme GT 8 Pro-t
- iPhone topik
- Android alkalmazások - szoftver kibeszélő topik
- Hivatalos a OnePlus 13 startdátuma
- Samsung Galaxy Z Fold3 5G - foldi evolúció
Ú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?:))
- Kerékpárosok, bringások ide!
- Tényleg nem biztos, hogy lesz Galaxy S26 Edge
- Kertészet, mezőgazdaság topik
- Konzolokról KULTURÁLT módon
- Battlefield 6
- Milyen SSD-t vegyek?
- Okos Otthon / Smart Home
- Melyik tápegységet vegyem?
- Újjászületés: szombattól új szerverkörnyezetben a PROHARDVER! lapcsalád
- HiFi műszaki szemmel - sztereó hangrendszerek
- További aktív témák...
- SAPPHIRE RX 9060 XT 16GB GDDR6 PULSE OC - Új, Bontatlan, 3 év garancia - Eladó!
- Nintendo Switch 2 + Balatro + hordozó táska + Splatoon tok + üvegfólia
- ÁFA-s Garis Félkonfig - i5 14400F, 64GB DDR4 RAM, Asrock B760 Pro
- AMD Ryzen 5 5600X - Új, 3 év garancia - Eladó!
- Apple iPad Air 11.0" M3 128GB Wi-Fi (Space Gray)
- Apple iPhone 14 Stílusos megjelenés, megbízható teljesítmény- Használt, karcmentes 3 hónap gari!
- ÁRCSÖKKENTÉS Menő retró konfig: Q9550, Gigabyte P43, 4GB RAM, ASUS GT730
- 18 éve! Billentyűzet magyarítás magyarosítás. Festés vagy lézerezés és egyebek! 3 lehetőség is van.
- ÚJ Lenovo ThinkPad T16 Gen 4 - 16" WUXGA - Ultra 7 255U - 32GB - 1TB SSD - Win11 - 3 év garancia
- AKCIÓ! Apple MacBook Pro 16 M4 Max 36GB RAM 1TB SSD macbook garanciával hibátlan működéssel
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest