Hirdetés
- Yézi: Videokártyáim [2015/08-2026/01]
- Elektromos rásegítésű kerékpárok
- Luck Dragon: Asszociációs játék. :)
- BerserkGuts: 9800X3D Hitvallás, Dogma megcáfolása egy RTX5080+12600K-val
- GoodSpeed: Te hány éves vagy?
- Parci: Milyen mosógépet vegyek?
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
- Magga: PLEX: multimédia az egész lakásban
- AMD K6 avagy hogy is volt 10 éve?!
Új hozzászólás Aktív témák
-
Szmeby
tag
Ha egy taskot küldesz be, akkor ezt szépen időzítve hajtja végre.
Közelítsük meg empirikus úton:
service.scheduleWithFixedDelay(task, 500, 1000, TimeUnit.MILLISECONDS);Szerintem első körben töröld azt az i++; sort a ciklusod közepéből, csak zavar.
Majd vedd le a max értékét 1-re, hogy lásd, mit csinál az executor 1 taskkal.
Fél másodpercet vár, majd 1 másodpercenként meglöki ugyanazt a taskot.Ha a max értékét felhúzzuk 2-re, akkor egyértelművé válik, mi történik. A két task azonnal bekerül az executorba, mindkettő vár fél másodpercet, majd egymás mellett elindulnak. És persze az executor mindkettőt 1 másodpercenként meglöki újra, továbbra is egymás mellett futnak, hiszen ugyanakkor, ugyanolyan időzítéssel készültek el.
Ha a pool méretét nem a procik száma alapján határozod meg, hanem lehúzod 1-re, majd a max értékét felnyomod 10-re, akkor is úgy tűnik, mintha egyszerre hajtódnának végre. Valójában csak 1 szálon teszik egymás után, de a task nem csinál semmit, így villámgyorsan megtörténik, az időzítésük ugyanaz, tehát továbbra is egymáshoz nagyon közeli időpontban fognak megfutni.
Megteheted azt, hogy
service.scheduleWithFixedDelay(task, i * 200, max * 200, TimeUnit.MILLISECONDS);, de lehet erre szofisztikáltabb megoldás is. Mivel ez esetben ismerned kell azt, hogy összesen hány taszkot bízol a service-re, ami nem feltétlenül ismert az első taszk indításakor.
Nem vagyok otthon ebben a szálkésleltetésben, de csak van rá valami megoldás. A többi metódusát már nézted? 3rd-party library-ket?Jobban belegondolva, nem biztos, hogy ez ennyire egyértelmű, mert a magok száma borítja a dolgot. Egy egymagos gépen evidens. De egy 4 magos gépen, 4 szálon futtatva mit vársz tőle? 4 szál párhuzamosan futtat 1-1 taskot, majd x idő múlva indulna újabb 4 task? Mi van, ha a 4-ből 1 túl hosszú, és jönne a következő kör? Olyankor csak 3 új szál induljon? Vagy egy se, és 1 kör kimarad? Ha minden egyes taskot x idővel eltolva indítanál, akkor mi értelme több szálat használni? Sőt extrém hosszú taskoknál ugyanúgy előjöhet a fentihez hasonló probléma. Vagy olyankor nem kell várni, azonnal induljon a következő task, amíg van szabad szál?
Legrosszabb esetben csinálhatsz egy custom executorService implementációt.

Új hozzászólás Aktív témák
Hirdetés
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Béta iOS-t használók topikja
- exHWSW - Értünk mindenhez IS
- Lesz is reklám a Nothing telefonjainak zárképernyőjén, meg nem is
- CES 2026: Ez lehet a legjobb gamer notebook
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Gumi és felni topik
- Kezdő fotósok digitális fényképei
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Milyen TV-t vegyek?
- Yézi: Videokártyáim [2015/08-2026/01]
- További aktív témák...
- Apple iPhone 17 Pro 256GB Deep Blue- ÚJ, BONTATLAN, független, 1év garancia
- Asus GL553VD FY010T - Intel i7-7700, 16GB RAM, GTX1050 4GB, Samsung 970 NVME 250GB
- Logitech G SAITEK Farm Sim Controller
- Eladó Google Pixel 7pro 8/128. OLVASS
- Dell Precision 3591 FHD Touch / Ultra 7 155H 16C / 16-32G / 512G G4 / RTX Ada / AI IR FPR
- Xiaomi Redmi Note 12 Pro 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 12 Pro Max 128GB Graphite -1 ÉV GARANCIA -Kártyafüggetlen, MS3951, 100% Akkumulátor
- ELADNÁD IPHONE KÉSZŰLÉKED? ADD EL A MOBILESHARKNAK GYORSAN ÉS BIZTONSÁGOSAN!
- Samsung Galaxy S24 Ultra 512GB,Átlagos,Dobozaval,12 hónap garanciával
- Gamer PC-Számítógép! Csere-Beszámítás! I7 8700K / RTX 3070 / 32GB DDR4 / 1TB SSD
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest


