Aktív témák
-
Huhh, ennyire nem vagyok benne. Kitaláltam egy dolgot: nyílvántartom a processzek számát. Ha elfogynak (nullák lesznek), akkor kiiratom őket. Csak valamiért nem akar működni. Egyszerűen nem nullláz ki semmit. Mi lehet a baj vele?
A kód lényege (a tömb nem prím elemeinek nullázása):unsigned long int nChild = 0; //gyerek processzek szama
unsigned long int j=0; //ciklusvaltozo
unsigned long int kFelso = ceil((double)(sqrt(felso)));
//elegendo a felso hatar negyzetgyokeig vizsgalni a szamokat
//na ez a kFelso az, csak epp felfele van kerekitve
for (i=0;i <= kFelso; i++)
{
if (nChild <= MAX_PROC)
{
if (fork() == 0)
{
nChild++;
for (j=0; j <= kFelso; j++)
{
if (tomb[j] % i == 0 && tomb[j] != i)
{
//szemaforral nullazom a tomb elemeit
SemBuf.sem_op = -1;
semop(semID, &SemBuf, 1);
tomb[j] = 0;
SemBuf.sem_op = 1;
semop(semID, &SemBuf, 1);
}
exit(0);
}
}
}
else
{
wait(NULL);
nChild--;
}
}[Szerkesztve]
-
Nem találtam ilyen témát, úgyhogy nyitottam egyet.
Van egy beadandó feladatom, amiben egy előre megadott intervallumban prímszámokat kell keresnem, és a végeredményt kiiratni.
Maga az algoritmus meg van: intervallum elemeit egy dinamikus tömbben tárolom, és a 2,3,4...-el való oszthatóságát vizsgálom, és ami maradék nélkül osztható azt kinullázom.
Attól IPC a feladat, hogy egyszerre több proceszt indítok (max. 10-et), ami vizsgálja az oszthatóságot.
A problémám az, hogy az eredményeket hamarabb kiíratom, mint ahogy az összes kis gyerekprocessz befejeződött volna, így egymás után futtatva más-más eredményt kapok.
Abban kérnék tanácsot, hogy hogyan tudnám várakoztatni azt a program részt - ami a kiíratással foglalkozik - , addig amíg az összes gyerekprocessz befejeződött?
Aktív témák
- Háztartási gépek
- Nagyrobogósok baráti topikja
- Kutya topik
- Futás, futópályák
- Forradalomi előrelépésként jellemzi az NVIDIA a DLSS 5-öt
- EA Sports WRC '23
- 5.1, 7.1 és gamer fejhallgatók
- Külföldi prepaid SIM-ek itthon
- Parfüm topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- További aktív témák...
- Corsair iCUE ELITE CPU Cooler LCD Display Upgrade Kit
- Lenovo Thinkpad E595 Ryzen 5 pro 3500U, Radeon Vega 8, 8-16GB RAM, SSD, jó akku, számla, gar
- Bomba ár! HP Dragonfly G4 i7-13G I 32GB I 512SSD I 13,5" FHD+ Touch I Cam I W11 I Garancia!
- Bomba ár! HP Elite Dragonfly Max i7-11G I 32GB I 512SSD I 13,3" FHD Touch I Cam I W11 I Garancia!
- Intel Core i7-13700 vennék!
- GAMING PC! Intel i5-12400F / RTX 4060 Ti / 16GB DDR4 / H610 / 512GB NVMe / 600w! BeszámítOK
- Akciós kisWorkstation! Dell Precision 3560 i7-1165G7 4.7GHz / 32GB / 512GB / Quadro T500 2GB FHD 15"
- ASUS TUF Gaming F16 Laptop! i7-14650HX / RTX 5060 / 16GB DDR5 / 1TB NVMe! BeszámítOK
- Itachi! Felsőkategóriás Gamer PC! Csere-Beszámítás! R7 9800X3D/ 9070XT / 32GB DDR5 / 2TB Nvme SSD
- BESZÁMÍTÁS! MSI B450 R7 1700 16GB DDR4 512GB SSD GTX 1070 8GB Rampage SHIVA Thermaltake 500W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


