Alternativa k boost::thread

Programovacie jazyky, rady, poradňa...
metthal
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2475
Registrovaný: 26 jan 2006, 18:32
Bydlisko: Nitra / Brno

Alternativa k boost::thread

Príspevok od používateľa metthal »

Zdravim

Momentalne si robim jednu kniznicu, v ktorej by som rad vyuzil multithreadingu. Problem vsak je ze tam chcem zachovat ten moj uzasny objektovy navrh a hodila by sa mi nejaka kniznica, ktora by si vedela poradit s metodami v ramci triedy a vedela ich spustat na novych threadoch. Momentalne pouzivam boost kniznicu, ale kto ma skusenosti s touto kniznicou vie, ze nie je zrovna najmensia. Len headery mi zaberaju 100 MB. Ja by som vsak chcel zachovat co najmensiu velkost a preto by sa mi sikla vasa pomoc. Neviete o nejakej malej kniznici, najlepsie cisto na multithreading, ktora si vie poradit aj s class metodami? (Nie len statickymi)
Baseilos
Light Expert
Light Expert
Príspevky: 57
Registrovaný: 01 máj 2011, 2:15

Re: Alternativa k boost::thread

Príspevok od používateľa Baseilos »

Nenapisal si na akej platforme vyvyjas. Pod Unix-like systemom by som pozrel na pthread. Ide o API pre pracu s threadmi podla POSIX normy.
metthal
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2475
Registrovaný: 26 jan 2006, 18:32
Bydlisko: Nitra / Brno

Re: Alternativa k boost::thread

Príspevok od používateľa metthal »

No hej to som zabudol. Chcel by som multiplatformovost, popripade ked tak, len Windows.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Alternativa k boost::thread

Príspevok od používateľa BX »

Tak použi winApi. Myslím, že by nemal byť problém, keď tomu predáš ukazateľ na metódu (prinajhoršom spravíš nejakého frienda)

Okrem toho, medzi POSIX a winApi threadmi veľký rozdiel nie je, multiplatf. by si vedel uhrať podmieneným prekladom.
metthal
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2475
Registrovaný: 26 jan 2006, 18:32
Bydlisko: Nitra / Brno

Re: Alternativa k boost::thread

Príspevok od používateľa metthal »

No isiel som napisat ze CreateThread() z WinApi nedokaze volat triedne metody, ale potom som skusil trocha pogooglit a zistil som ze to ide hacknut. Tak to asi hacknem a bude. Neskor ak by som chcel, tak pridam aj podmieneny preklad. Dufam ze pthread-y teda dokazu tiez nejakym sposobom volat triedne metody. Diky.

EDIT: Teraz pozeram na ten hack a myslim ze by tam nemal byt ziadny problem to prerobit aj na pthread-y.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Alternativa k boost::thread

Príspevok od používateľa BX »

Neviem, aký hack máš namysli, ale mohlo by to ísť len nejakou privátnou friend funkciou (dá sa niečo také vôbec? :D ), alebo možno nejakým hnusným pretypovaním ošialiť prekladač. Prípadne spraviť verejnú funkciu a dať jej hrozitánske meno, príp. jej povoliť spustenie len so špeciálym parametrom, aby si zaistil, že ti ju nebude volať nikto iný.
Spôsobov by bolo veľa, nevidím dôvod, prečo by to nejako nešlo.
metthal
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2475
Registrovaný: 26 jan 2006, 18:32
Bydlisko: Nitra / Brno

Re: Alternativa k boost::thread

Príspevok od používateľa metthal »

Pozri si druhu odpoved http://stackoverflow.com/questions/1372 ... ss-members

Nazvy to hack, oje*, ako chces, ale pekne to neni. :) Avsak tych 100 MB headerov mi prekaza, takze to urcite tak spravim.
BX
Addict
Addict
Používateľov profilový obrázok
Príspevky: 4572
Registrovaný: 10 jan 2008, 15:30

Re: Alternativa k boost::thread

Príspevok od používateľa BX »

No tak je to ešte jednoduchšie, ako som si myslel. A nepríde mi to ako "hack", ani nič podobné. Podľa mňa pekné jednoduché riešenie, kľudne to použi :)
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Alternativa k boost::thread

Príspevok od používateľa harrison314 »

Ved pthread ide aj pod windowsom, prilinkujes libku a ides.
(Necital som cele vlakno podrobne, ....)
metthal
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2475
Registrovaný: 26 jan 2006, 18:32
Bydlisko: Nitra / Brno

Re: Alternativa k boost::thread

Príspevok od používateľa metthal »

Musim povedat ze to funguje skvele po mensich upravach, presne ako som si zelal. Spravil som si este wrapper classu pre mutexy a usetril som 100MB a linkovanie dalsich kniznic. :)
Napísať odpoveď