On Wednesday 07 January 2004 08:30, Огнян Кулев wrote: > Vasko Tomanov wrote: > > moje li niakoi da mi dadae link kade da protsheta ka se organizirat > > neshtata s thredovete na linux, kaka se praviat mutexi i t.n. > > predpotshitam da se polzvat native threads a ne posix ( stava vapros ot > > gledna totshka na GNU C++ > > В Linux не са ми известни native threads, които по API да се различават > от POSIX threads.
въпреки, че първата имплемантация на linuxthreads [1] са предвидени да следват Posix 1003.1c , те никога не са го достигали, къде от самата библиотека (и wrappers към нея като за C++ например) , къде от съпорта в ядрото. Това което не е POSIX съвместимо например и е очевидно, че Linux ядрото зачисляваше pid на всеки член от threads семейството... ами ползването на clone(2) за създаване на дъщерен процес и шарването на някои нещица (mem, fd ...) с родителя е същата linux-kernel-specific, не портабилна и anti-POSIX работа ... има и други разлики посочени от Ulrich Drepper при сравнението с NTPL [2] ... Така, че 'for d sake of sakeness' - Linuxthreads можем да го броим за Linux Native (specific) имплемент, а NPTL за strict/strong POSIX такъв. > Такива native threads имат Solaris, AIX и т.н. Абсолютно правилно, само, че тези kernels поддържат и POSIX threads, но Sun поне твърдят, че Solaris Native Threads като дизайн са superior, и може би има известна истина, понеже не се взима предвид портабилността залегнала в POSIX. Има и библиотеки [3] които спомагат за по-лесното портване на приложения ползващи Solaris Native Threads към POSIX ones. Как "намират общия знаменал" между двете имплементации не смея и да си помисля. Страшно е. Та ако се почне да се четат документите от тук [4] ще са необходими години според мен за да може човек горе долу да каже, че може да контролира умело нишките в дадено приложение ;-) Малък тих ужас за дебъгване ;-) [1] http://pauillac.inria.fr/~xleroy/linuxthreads/ [2] http://people.redhat.com/drepper/ [3] http://sctl.sourceforge.net/ [4] http://directory.google.com/Top/Computers/Programming/Threads/POSIX/ -- pub 4096R/0E4BD0AB 2003-03-18 <keyserver.bu.edu> 1AE7 7C66 0A26 5BFF DF22 5D55 1C57 0C89 0E4B D0AB ============================================================================ A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers). http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html ============================================================================
