Aktív témák
-
Jester01
veterán
Mi az hogy egyszerre? Egy procis (nem HT vagy dualcore) gépen sosem fog egyszerre futni. Két procis gépen futhatnak párhuzamosan, de semmi garancia nincs arra, hogy egyszerre végeznek.
Szóval pl. definiálni kellene szinkronizációs pontokat ahol a két ciklus bevárja egymást.
[Szerkesztve]Jester
-
clayman
aktív tag
Gondolom nem kívánod megoldani több szálon, minden iterációnál egy szemaforral, és nem is egymásba ágyazott ciklusra gondoltál így marad a következő megoldás:
Ha volt:
const int L1 = 666;
const int L2 = 1337;
for(int a=0;a<L1;++a) { első ciklus kódja }
for(int b=0;b<L2;++b) { második ciklus kódja }
Ezekből lesz:
if( L1<=L2) {
int a, b;
for(a=0,b=0;a<L1;++a,++b) { összes cikluskód }
for(;b<L2;++b) { második ciklus kódja }
} else {
int a, b;
for(a=0,b=0;b<L2;++a,++b) { összes cikluskód }
for(;a<L1;++a) { az első ciklus kódja }
}
Vagy ha úgy jobban tetszik:
int a, b;
for(a=0,b=0;a<L1 && b<L2;++a,++b) { összes cikluskód }
for(;a<L1;++a) { az első ciklus kódja }
for(;b<L2;++b) { második ciklus kódja }
Persze ha L1 == L2 akkor sokkal 1xűbb:
for(int a=0,b=0;a<L1;++a,++b) { összes cikluskód }
Aktív témák
- Amlogic S905, S912 processzoros készülékek
- Tőzsde és gazdaság
- Teszteltük az LG új, OLED paneles gamer monitorát
- Politika
- Milyen okostelefont vegyek?
- Kerékpárosok, bringások ide!
- Eredeti játékok OFF topik
- PlayStation 5
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- Okos Otthon / Smart Home
- További aktív témák...
- Krómozott előlapos Jura Z5 automata kávéfőző beépített profi cappuccino fejjel
- Eladó teljesen új, bontatlan Nespresso Essenza mini piros színben
- Motorola Razr 40 - 8GB 256GB DualSIM Sage Green - Bontatlan - Garanciális
- Canon Ixus 285 HS
- Új! Bontatlan! Samsung 8TB 2.5 SSD eladó! Országos Szállítással