Programiranje u C++-u - pitanja i odgovori izdvojena tema

poruka: 7.285
|
čitano: 1.713.459
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
TracerCPP kaže...

OS sve to ima implementirano (automatski organizirano) i ne vidim čemu izmišljanje mlake vode. Usto, ne vidim što bi tom svom custom implementacijom postigao, ubrzao ili sl., a da ne govorim o problemima realizacije semafora ili kritičnih sekcija kod thredova takvog tipa.

Moraš li vidjeti što bih tom implementacijom postigao kako bi mi mogao pomoći? Gle, treba mi za rad. Zato se toliko i mučim oko toga.

Prodajem RAGE za PS3: http://www.bug.hr/forum/topic/igre-accounti-igrama/prodaja-igra-rage-playstation-3/129629.aspx?page=0&jumpto=2529211&sort=asc&view=flat
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Svako petljanje u posao OSa koji bi on trebao obaviti samostalno je najčešće greška jer on na osnovu mnogih stanja u sustavu donosi odluke o tome kako, kada i što izvršavati, dok programer tu odluku/prosudbu će najvjerojatnije pogrešno prosuditi i ocjeniti.

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
Poruka je uređivana zadnji put uto 31.7.2012 15:58 (TracerCPP).
16 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
You can patch technical vulnerabilities as they evolve, but there is no patch for stupidity, or rather gullibility. - Kevin Mitnick
Poruka je uređivana zadnji put uto 31.7.2012 16:06 (Bukva).
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Prodajem RAGE za PS3: http://www.bug.hr/forum/topic/igre-accounti-igrama/prodaja-igra-rage-playstation-3/129629.aspx?page=0&jumpto=2529211&sort=asc&view=flat
16 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

O.o

Pa, kako si uopće mislio to implementirati bez semafora? Mislim, ako znaš za njih i ako ste ih radili...

You can patch technical vulnerabilities as they evolve, but there is no patch for stupidity, or rather gullibility. - Kevin Mitnick
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
Bukva kaže...

O.o

Pa, kako si uopće mislio to implementirati bez semafora? Mislim, ako znaš za njih i ako ste ih radili...

Sad me već strah, plašiš me. Spominjano na predavanjima, na vježbama ako se dobro sjećam nije ni rađeno, ima već jedno 4 godine od onda...

Prodajem RAGE za PS3: http://www.bug.hr/forum/topic/igre-accounti-igrama/prodaja-igra-rage-playstation-3/129629.aspx?page=0&jumpto=2529211&sort=asc&view=flat
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Bukva kaže...

Ajme Tracer zvučiš kao Jehovin svjedok. Tako je jer piše u Bibliji i tako mora biti.

 

Ja sam jasno napisao zašto to tako treba biti. Ako nisi shvatio onda pročitaj ponovo prije nego što počneš nekoga prozivati.

 

Kao, ja sam neznalica pa mi treba objasniti što su to semafori itd? Sorry ali napisao sam cca 50ak aplikacija koje koriste multi-threading i baš zato i pričam o mogućim problemima s custom implementacijama. To je sizifov posao no tko voli neka izvoli.

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
191x7 kaže...
Bukva kaže...

O.o

Pa, kako si uopće mislio to implementirati bez semafora? Mislim, ako znaš za njih i ako ste ih radili...

Sad me već strah, plašiš me. Spominjano na predavanjima, na vježbama ako se dobro sjećam nije ni rađeno, ima već jedno 4 godine od onda...

Eto, i sam sada vidiš koja je razina tvog znanja - uopće ne znaš u što se upuštaš. I onda kada pokušam objasniti ispadam jehovin svjedok {#}.

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
16 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
191x7 kaže...

Sad me već strah, plašiš me. Spominjano na predavanjima, na vježbama ako se dobro sjećam nije ni rađeno, ima već jedno 4 godine od onda...

Pa za boga miloga, pa nije to nuklearna znanost...

 

Znači imaš neki pool odakle vučeš zadatke i daješ ih dretvama. Odnosno, dretve se muđusobno nadmeću koja će uzeti koji zadatak s obzirom na svoj algoritam kojim ga traži. Jedna uzima najkraći, druga najduži, trejća drugi najkraći (bzvz lupam). A što ako su svi zadaci jednake duljine? Ili što ako postoji samo jedan zadatak u poolu?

Kritičan momenat je onaj u kojem dretva pristupa poolu, i taj dio mora biti zaštićen semaforom. Inače, ako to ne napraviš program će ti otići u deadlock (ili lifelock, zavisi na čemu se i kada sukobe, odnosno kako je što implementirano).

 

 

You can patch technical vulnerabilities as they evolve, but there is no patch for stupidity, or rather gullibility. - Kevin Mitnick
16 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
TracerCPP kaže...

Kao, ja sam neznalica pa mi treba objasniti što su to semafori itd? Sorry ali napisao sam cca 50ak aplikacija koje koriste multi-threading i baš zato i pričam o mogućim problemima s custom implementacijama. To je sizifov posao no tko voli neka izvoli.

Pa tko je tebi išta reko osim da tupiš o tome da se ostavi ćorava posla...?

Te linkove sam stavio za 191x7. Ovaj pita za pomoć, a drugi se nađe uvrijeđen jer misli da su linkovi za njega. Ovo je za 9gag...

 

Ako hoće naučiti ili piše rad o tome, onda pomogni čovjeku, a ne ići "to radi OS, pusti to". Kad smo već na ovoj temi, pogledaj samo koliko ima promašenih algoritama sinkronizacije prije nego se pojavio Dijkstra (ili tko ih je već pravilno sinkronizirao)... Koliko ih je bilo? 5? 6? Što da svatko nakon prvoga išao logikom - ah, to radi taj algoritam, ma pusti to.

Osim toga, ja kada sam se susreo s dretvama, onda smo prvo radili način rada proca i odmah na dretve i višedretvenost u OSu - odnosno učenje je bilo od niže hijerarhije prema višoj, tako da apsolutno ne vidim problem ako mu nešto nije jasno trenutno. Pohvata stvari za 3-4 dana max.

Pa barem bi jedan profesor trebao poticati radoznalost, a ne ju sputavati...

You can patch technical vulnerabilities as they evolve, but there is no patch for stupidity, or rather gullibility. - Kevin Mitnick
Poruka je uređivana zadnji put uto 31.7.2012 17:04 (Bukva).
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Bukva kaže...

Pa barem bi jedan profesor trebao poticati radoznalost, a ne ju sputavati...

Radoznalost je jedno a pogrešan pristup drugo, pogotovo ako se usvoji. Isto tako, nije napisano o kakvom je radu riječ tj. da li pisanom (teorijskom) ili praktičnom, a ja govorim o praktičnoj strani. O teoriji možemo do preksutra.

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
TracerCPP kaže...

 Isto tako, nije napisano o kakvom je radu riječ tj. da li pisanom (teorijskom) ili praktičnom, a ja govorim o praktičnoj strani. O teoriji možemo do preksutra.

I praksa i teorija.  Dakle napraviti i program i teorijski dio.

 

@Bukva:

Ako bih imao raspoređivanje niti po jezgrama zadano putem npr SetThreadAffinityMask ili čega već i za slučaj da dođe do toga da više "zadataka" ima jednako trajanje to bih mogao "srediti" tako da kažem da, ako imaju jednako trajanje, da prvog uzima prva slobodna jezgra. Time bih zaobišao problem.

No isto tako kužim da se semaforima i ostalime blokira pristup niti koja se izvodi, tj da ju sam OS ili nešto drugo ne može prekinuti ili podijeliti. Barem mi je tako nešto ostalo u sjećanju, ako je to to.

Prodajem RAGE za PS3: http://www.bug.hr/forum/topic/igre-accounti-igrama/prodaja-igra-rage-playstation-3/129629.aspx?page=0&jumpto=2529211&sort=asc&view=flat
16 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
TracerCPP kaže...

Radoznalost je jedno a pogrešan pristup drugo, pogotovo ako se usvoji. Isto tako, nije napisano o kakvom je radu riječ tj. da li pisanom (teorijskom) ili praktičnom, a ja govorim o praktičnoj strani. O teoriji možemo do preksutra.

Pa najbolje se nauči ako se ide nešto implementirati. Džabe ti sva teorija svijeta, ako ti to ne znaš primjeniti. A to jel će on nešto krivo implementirati ili ne, pa to nije niti bitno, ak se nauči nešto iz toga. Da je meni novčić za svaki puta kada sam ja imao krivi pritup,...

191x7 kaže...

@Bukva:

Ako bih imao raspoređivanje niti po jezgrama zadano putem npr SetThreadAffinityMask ili čega već i za slučaj da dođe do toga da više "zadataka" ima jednako trajanje to bih mogao "srediti" tako da kažem da, ako imaju jednako trajanje, da prvog uzima prva slobodna jezgra. Time bih zaobišao problem.

A što ako u istom trenutku zavšre obje dretve i u istom trenutku idu pristupati poolu i u istom trenutku zahvate isti zadatak? Jednostavno moraš imati semafore. To je kritični odsječak i njega moraš štiti.

You can patch technical vulnerabilities as they evolve, but there is no patch for stupidity, or rather gullibility. - Kevin Mitnick
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Bukva kaže...
A što ako u istom trenutku zavšre obje dretve i u istom trenutku idu pristupati poolu i u istom trenutku zahvate isti zadatak?

Ček ovdje govoriš o situciji da dretve same uzimaju svoje zadatke iz poola. A što ako ideš u obratnom smjeru i imaš nekakavog managera koji stvara dretve i dodjeljuje im zadatke, Ono po principu "ti radi ovo, ti radi ono...". Tada se ne bi dogodilo da dvije dretve zabunom mogu dobiti isti zadatak...

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
17 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
rustweaver kaže...
Bukva kaže...
A što ako u istom trenutku zavšre obje dretve i u istom trenutku idu pristupati poolu i u istom trenutku zahvate isti zadatak?

Ček ovdje govoriš o situciji da dretve same uzimaju svoje zadatke iz poola. A što ako ideš u obratnom smjeru i imaš nekakavog managera koji stvara dretve i dodjeljuje im zadatke, Ono po principu "ti radi ovo, ti radi ono...". Tada se ne bi dogodilo da dvije dretve zabunom mogu dobiti isti zadatak...

E to se traži. Dakle da glavni program stvara niti i dodijeljuje im zadatke. I da "baca" niti po jezgrama procesora. 

U biti što jednostavnije izvedeno to bolje.

Prodajem RAGE za PS3: http://www.bug.hr/forum/topic/igre-accounti-igrama/prodaja-igra-rage-playstation-3/129629.aspx?page=0&jumpto=2529211&sort=asc&view=flat
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

:)  ... kao da radiš diplomski   na tu temu .....samo tako .

Private
17 godina
offline
Programiranje u C++-u - pitanja i odgovori

Pa nešto slično tome. Samo drugačije. Višekriterijsko raspoređivanje resursa na višejezgrenom procesoru.

Prodajem RAGE za PS3: http://www.bug.hr/forum/topic/igre-accounti-igrama/prodaja-igra-rage-playstation-3/129629.aspx?page=0&jumpto=2529211&sort=asc&view=flat
Moj PC  
0 0 hvala 0
16 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
rustweaver kaže...
Bukva kaže...
A što ako u istom trenutku zavšre obje dretve i u istom trenutku idu pristupati poolu i u istom trenutku zahvate isti zadatak?

Ček ovdje govoriš o situciji da dretve same uzimaju svoje zadatke iz poola. A što ako ideš u obratnom smjeru i imaš nekakavog managera koji stvara dretve i dodjeljuje im zadatke, Ono po principu "ti radi ovo, ti radi ono...". Tada se ne bi dogodilo da dvije dretve zabunom mogu dobiti isti zadatak...

Stvaraš još jednu dretvu koja radi ono što bi mogle same dretve koje rade zadatak.

 

Ali opet ti je isto. Što ako u istom trenutku više dretvi zatraži zadatak od managera i obje imaju jednaku razinu privilegija na isti zadatak koji je jedini u poolu? To je sad primjer deadlocka.

 

EDIT: Daj samo pogledajte semafore. Nemojte me tjerati još na kraju da pokleknem i priznam Traceru da je i imao pravo... Na ovakav način rade i baze podataka, samo su tamo lockovi, ne semafori. Ako usvojite kako se procesi natječju za resurse i koji se mehanizmi koriste za zaštitu podataka, to će te bolje shvatiti jako puno stvari koje se događaju "ispod haube" i kod računala općenito, ali i kod puno aplikacija.

You can patch technical vulnerabilities as they evolve, but there is no patch for stupidity, or rather gullibility. - Kevin Mitnick
Poruka je uređivana zadnji put uto 31.7.2012 19:52 (Bukva).
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Bukva kaže...

Stvaraš još jednu dretvu koja radi ono što bi mogle same dretve koje rade zadatak.

Pa da, ali tako rade CPU scheduleri u operacijskim sustavima. Oni kontroliraju dretve, odnosno procese.

 

Bukva kaže...
Ali opet ti je isto. Što ako u istom trenutku više dretvi zatraži zadatak od managera i obje imaju jednaku razinu privilegija na isti zadatak koji je jedini u poolu? To je sad primjer deadlocka.

Pa ne moraju biti jednake. Recimo da popis dretvi držiš u nekakvom polju čiji su članovi u biti flagovi koji govore je li neka dretva slobodna ili zauzeta, kada neka dretva zatraži posao manager skenira to polje i traži prvu slobodnu dretvu, odnosno više njih ako ima više zadataka...

 

Teško je ovako napamet nabacivati dizajn, već bih ja to u hodu speglao... :D

 

EDIT: zašto misliš da su meni semafori i mutexi nepoznati pojmovi? :)

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
Poruka je uređivana zadnji put uto 31.7.2012 20:05 (rustweaver).
16 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
rustweaver kaže...

(1)Pa da, ali tako rade CPU scheduleri u operacijskim sustavima. Oni kontroliraju dretve, odnosno procese.

(2)Pa ne moraju biti jednake. Recimo da popis dretvi držiš u nekakvom polju čiji su članovi u biti flagovi koji govore je li neka dretva slobodna ili zauzeta, kada neka dretva zatraži posao manager skenira to polje i traži prvu slobodnu dretvu, odnosno više njih ako ima više zadataka...

 

Teško je ovako napamet nabacivati dizajn, već bih ja to u hodu speglao... :D

 

EDIT: zašto misliš da su meni semafori i mutexi nepoznati pojmovi? :)

(1) Ja sam brzopleto pročitao - to radi glavni program koji poziva dretve. Mislim, možeš glavni pozvati još jednu dretvu i dodijeliti joj ulogu policajca, ali to nije niti bitno. Ako izbjegavaš mehanizme kontrole pristupa, možeš ti imati sto schedulara, nećeš izbjeći pogrešku. Zapravo, ako ih imaš sto, još ćeš samo pogoršati problem.

 

(2) Ovo s poljem nema smisla, jer se može dogoditi da dretva koja traži posao ga nikada ne dobije.

 

 

You can patch technical vulnerabilities as they evolve, but there is no patch for stupidity, or rather gullibility. - Kevin Mitnick
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Bukva kaže...
(2) Ovo s poljem nema smisla, jer se može dogoditi da dretva koja traži posao ga nikada ne dobije.

Zbog?

 

Pretpostavljam ništa što se ne bi dalo lako srediti.

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
Poruka je uređivana zadnji put uto 31.7.2012 20:48 (rustweaver).
17 godina
offline
Programiranje u C++-u - pitanja i odgovori

Ako krenemo od pretpostavke da korisnik unosi o koliko niti/dretvi da se radi i onda za svaku pojedinu nit unosi vrijeme izvođenja, nastaju li onda problemi koje navodite?

Ne radi se o programu koji mora biti pouzdan, bez mana ili grešaka. Samo treba biti omogućeno da se "niti" dodjeljuju procesorskim jezgrama po više kriterija.

Možda će vam zvučati glupo al u biti moja zamisao je da treba glavni program reći "ovo na prvu jezgru, ovo na drugu, ovo na treću, ...".

Dakle bez nadmetanja, tokena, zastavica, semafora i proslijeđivanja, da je predefinirano, determinističko.

 

Imamo dvojezgreni procesor za primjer. Korisnik kaže 6 niti. Vremena 15s, 30s, 12s, 32s, 45s i 40s.

I onda recimo program na prvu jezgru baci prvi thread (15s) (recimo da na prvu jezgru raspoređuje po FCFS), na drugu treći thread (12s) (po SJF), pa na drugu kad završi baci drugi thread (30s), a kad prva završi na nju onda prvi idući tj četvrti (32s), pa kad druga završi na nju baci šesti thread (40s) a kad prva završi na nju onda preostali odnosno peti (45s).

Po takvom višekriterijskom raspoređivanju prva jezgra bi radila 92s a druga 82s.

Kužite na što mislim?

 

[edit: dakle nekako bi trebalo bilježiti koja nit je slobodna, da se odvoji zauzete/riješene od onih koje čekaju]

 

Dio za detekciju broja jezgri procesora već imam kod.

 

Pošto se radi o višekriterijskom raspoređivanju pri raspoređivanju treba biti korišteno barem dva kriterija. Neovisno o broju jezgri.

E sad, mislim da je lakše implementirati da se npr na prvu jezgru po FCFS na drugu po SJF pa na treću opet recimo FCFS nego da ima kombinacija FCFS&SJF za svaku jezgru.

Prodajem RAGE za PS3: http://www.bug.hr/forum/topic/igre-accounti-igrama/prodaja-igra-rage-playstation-3/129629.aspx?page=0&jumpto=2529211&sort=asc&view=flat
Poruka je uređivana zadnji put uto 31.7.2012 20:53 (191x7).
Moj PC  
0 0 hvala 0
16 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori
rustweaver kaže...
Bukva kaže...
(2) Ovo s poljem nema smisla, jer se može dogoditi da dretva koja traži posao ga nikada ne dobije.

Zbog?

 

Pretpostavljam ništa što se ne bi dalo lako srediti.

Recimo da imaš 5 dretvi.

 

Dretva broj 5 poziva schedulera jer je slobodna, upiše se u polje da je slobodna (recimo 1) i obavjesti schedulera. Scheduler krene skenirati polje. Međutim, u tom trenutku dretva broj 2 završi i upiše se u polje. Scheduler dođe do broja 2 i vidi da je dretva slobodna i njoj da resurs.

Eh sada, može se dogoditi deadlock ukoliko dretva 5 beskonačno čeka na red (recimo da ako ona pozove schedulera da nitko drugi ga ne smije zvati). Može jednostavno otići u time-out, gdje nakon x vremena, ona opet zove schedulera. Ali recimo sada da u istom trenutku kada ga ona opet pozove, dretva broj 3 završi sa svojim poslom i upiše se da je slobodna. Sad opet scheduler dolazi do broja 3, vidi da je ta dretva slobodna i njoj daje posao. I tako u krug. Dretva broj 5, koja poziva cijelo vrijeme scheduler nikada ne dobije svoj zadatak.

 

Ako okreneš, da prvo pozivaš schedulera, a onda se upisuješ u polje, može ti se dogoditi da te nikada ne prozove (zadnji zadatak, dretva broj jedan, upis nakon skeniranja nad tim poljem) ili da u istom trenutku dvije dretve pozovu schedulera i upišu se u polje, on dodijeli zadatak samo onoj koju prvu skenira.

 

Ovdje više niti ne govorimo o problemu dodjeli resursa, nego o integritetu podataka (R before W).

 

Moraš imati mehanizme zaštite. Ovdje doslovno pričamo ala - ja tvrdim da za igrati nogomet treba lopta, a ti me pitaš - a što ako ja smotam majicu, jel se može s time igrati nogomet? Možeš ti na sto načina implementirati provjeru kome dodjeliti zadatak, ali uvijek kritičan odsječak mora biti zaštićen semforom.

You can patch technical vulnerabilities as they evolve, but there is no patch for stupidity, or rather gullibility. - Kevin Mitnick
14 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Ako je riječ o izvršavanju različitih procesa u različitim threadovima može se napraviti sortirani prioritetni red a kritična sekcija bi bio dio gdje se iz tog reda uzima proces i dodjeljuje nekom threadu na izvršavanje (da se spriječi da se isti proces dodijeli dvoma ili više threadova). Implementacija izgleda nekako ovako:

 

CRITICAL_SECTION g_cs;
InitializeCriticalSection(&g_cs);
// …
EnterCriticalSection(&g_cs); // zaključaj CS
// …
LeaveCriticalSection(&g_cs); // otključaj CS
DeleteCriticalSection(&g_cs);

Kada lajavci laju onda završe ovako: http://i471.photobucket.com/albums/rr77/toropreto/2012-07-0813_30_07.gif
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Bukva kaže...

Dretva broj 5 poziva schedulera jer je slobodna, upiše se u polje da je slobodna (recimo 1) i obavjesti schedulera. Scheduler krene skenirati polje. Međutim, u tom trenutku dretva broj 2 završi i upiše se u polje. Scheduler dođe do broja 2 i vidi da je dretva slobodna i njoj da resurs.

Eh sada, može se dogoditi deadlock ukoliko dretva 5 beskonačno čeka na red (recimo da ako ona pozove schedulera da nitko drugi ga ne smije zvati). Može jednostavno otići u time-out, gdje nakon x vremena, ona opet zove schedulera. Ali recimo sada da u istom trenutku kada ga ona opet pozove, dretva broj 3 završi sa svojim poslom i upiše se da je slobodna. Sad opet scheduler dolazi do broja 3, vidi da je ta dretva slobodna i njoj daje posao. I tako u krug. Dretva broj 5, koja poziva cijelo vrijeme scheduler nikada ne dobije svoj zadatak.

I ne vidim ništa loše u tome, ako posla nema dovoljno posve je svejedno koja dretva besposličari a koja radi. Što se konstantnog pozivanja schedulera u slučaju 5. dretve tiče, to ne bih tako izveo. Dretva ima samo jednom obavijestiti scheduler da je slobodna te nakon toga ulazi u trajno stanje čekanja. Dok bi kod svakog novog dodanog zadatka scheduler provjerio ima li slobodnih dretvi, tako da je manja šansa da će dretva 5 baš cijelo vrijeme čekati. No slažem se da je takav pristup daleko od idealnog, no kako sam ga smišljao cijelih 30-ak sekundi nije ni baš tako loš :D

 

Bukva kaže...
Moraš imati mehanizme zaštite. Ovdje doslovno pričamo ala - ja tvrdim da za igrati nogomet treba lopta, a ti me pitaš - a što ako ja smotam majicu, jel se može s time igrati nogomet? Možeš ti na sto načina implementirati provjeru kome dodjeliti zadatak, ali uvijek kritičan odsječak mora biti zaštićen semforom.

Svakako, slažem se. Samo sam pokušao pristup postaviti na način na koji bi meni odmah bilo jasnije što treba štititi...

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
16 godina
offline
Re: Programiranje u C++-u - pitanja i odgovori

Pa sunce ti više i s C/P na ovome forumu...

 

Ukratko, evo Dekkerov alg za međusobno isključivanje u Cu (za linux platformu)

 

 

http://www.text-upload.com/read,3934216968568

 

Odo ja spavat, ova borba s forumom je bila previše za mene...

 

 

You can patch technical vulnerabilities as they evolve, but there is no patch for stupidity, or rather gullibility. - Kevin Mitnick
Poruka je uređivana zadnji put uto 31.7.2012 22:24 (Bukva).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

moze jedno noob pitanjce ??

 

kupio sam "demifisticirani c++" knjigu  po savjetu

na pitanje kako najbezbolnije poceti uciti programirati u c++

 

i nabavio visual c++ 10 i onaj besplatni  (da ima u cemu pisati)

u medzvremenu sam browsajuci nasao vtc c++/3d buzz c++/zoax

video tutoriale za totalne pocetke

 

i sad poslje malo odgledanog/procitanog materijala

sam totalno zbunjen

 

svi govore da je najbolje nauciti uz knjigu i primjere za vjezbu

a opet mi nekako lakse gledati video

(valjda mi mozak bolje radi s vizualnim podsticajima) 

 

moze savjet ?

 

da se uhvatim knjige i bubanje i pomalo pratiti video (tjekom odmora od knjige)

ili da se uhvatim videa (i online zadataka) i pratim video

 

??

s cim cu "bezbolnije" nauciti  c++  ??

 

hvala

 
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
humb kaže...
da se uhvatim knjige i bubanje i pomalo pratiti video (tjekom odmora od knjige)

ili da se uhvatim videa (i online zadataka) i pratim video

 

??

s cim cu "bezbolnije" nauciti  c++  ??

 

hvala

Uči s čim god bolje shvaćaš, nema tu nekakvog pravila. No udovolji mi znatiželji, zašto ti je lakše gledati video? Ne znaš kako tipkati kod, ili gdje ga točno treba utipkati? Zašto moraš gledati nekoga kako švrlja po IDE-u? Što ti zapravo tu učiš, programiranje ili snalaženje po IDE-u, (ono gdje je koja tipkica i što ona radi)? Zar ti ne smeta što predavač ide svojim tempom i što moraš ponekad pauzirati ili se čak vračati unatrag?

 

EDIT: nemoj me krivo shvatiti, ovo nije zlonamjerno samo je meni malo neshvatljivo zašto bi netko gledao video pored sasvim ispravnog teksta. No mislim da kad si odgovoriš na ova pitanja što sam ti postavio, lakše ćeš se odlučiti izabrati jedno ili drugo.

 

EDIT2: naučiti c++ nećeš ni sa knjigom ni sa videom. S njima ćeš ga početi učiti, ono dobit ćeš osnovne informacije o jeziku, a naučiti ćeš ga "do kraja" tek sam pišući programe (praksom jel)...

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
Poruka je uređivana zadnji put sri 1.8.2012 14:22 (rustweaver).
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

oki

bacam se na knjigu onda :)))

 

i skuzio sam ovo na edit 2 :)( 

nakraju knjige pise ..to be continued :D

15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

kao što je @rustweaver rekao, programiranje ćeš jedino naučit pišući programe pa zato riješi što više jednostavnih programa
i potrudi se da ti sve bude kristalno jasno jer koliko sam vidio u knjigama bude malo više od osnova
P.S. ako ti treba zadataka reci 

E-mail:
Lozinka:
 
vrh stranice