3,4 fwrite и fread являются ф-циями стандартной библиотеки и их можно использовать как в винде так ив никсах также они являются обертками над апи ос, в никсах аналогом будет сис. вызовы write() read()
14 sleep() usleep() работаю как в процессах так и в нитях (кстати в никсах между процессами и нитями очень мутная граница)
По потокам смотри в сторону pthreads(pthread_create,pthread_join,pthread_exit, etc)
По событиям смотри наверно в сторону сигналов(в общем хз, не было надобности с ними работать)
По остальным надо смотреть тк я особо не знаю что делают те или инные ф-ции, писал с твоего описания )
эм немного не в тему. а где вообще можно почитать про программинг на Си в юниксе?
просто насколько я понимаю можно юзать и системные вызовы и чутьли не вызовы консольных улит... В общем какие-то обзорные материалы или направленные доки по Си для юникса есть??
порылся в нете нашел пока вот че
http://www.citforum.ru/programming/c_unix/
нащет ExitThread - думаю exit; тоже канает помню кодил на Perl потоки с помощью вызова fork...
Последний раз редактировалось Gar|k; 21.07.2009 в 20:56..
Причина: погуглил )
мне fork не подходит. потому как у меня они должны находится в одно адресном пространстве. И при этом должно быть предварительно выделено до 1000 потоков.
хотя и 200 хватит. Под виндой это очень просто делается. а вот под никсами - тут хз.
Нашел инфу на счет связки SetEvent и WaitForSingleObject то в никсах вообще пздц как через жопу это приходится реализовывать.
Вот нарыл некоторую инфу по поводу потоков и синхронизации.
Кому интерестно то
1) http://www.ibm.com/developerworks/library/l-ipc2lin2.html
хорошо описано как переписывать с винды на никсы части кода где есть работа с событиями и ожиданием этих событий.
2) http://world.std.com/~jmhart/opensource.htm
набор макросов которые преобразуют виндовые функции в никсовые (модуль pthreads)
зачем чтото переписывать, если уже давно все сделано за нас? есть куча кроссплатформенных библиотек. от boost'a до Qt... Ну и целая пачка фреймворков поменьше.
вся фишка что функции все должны быть как можно ближе к системным вызовам. (т.е. иметь как можно более тонкую прослойку)
Потому как программа должна полностью сохранить свою высокую производительность.
Как продолжение - пару линков...
https://computing.llnl.gov/tutorials/pthreads/
http://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.html
всё хорошо расписанно с примерчегами =)
Последний раз редактировалось FireFenix; 21.07.2009 в 23:46..