Jeśli naprawdę chcesz C (nie C++), proponuję użyć standardowych wątków POSIX na platformach innych niż Windows i użyć pthreads-win32 w systemie Windows. Obsługuje zarówno 32-, jak i 64-bitowe, zarówno MSVC, jak i MinGW. Obecna wersja (2.9.1) została wydana zaledwie miesiąc temu, więc projekt jest aktywnie utrzymywany. Jest też fork on github z pewnymi poprawkami w projekcie MSVC2010.
Jeśli C++ jest również opcja, że mogę wybrać impuls, bo to gdzie średnia C++ ewoluuje (projekt std::thread
w C++ 11 jest ewolucją od boost::thread
itp)
Dla sieci część twojego pytania, boost::asio
to najlepszy wybór, jeśli C++ jest w porządku dla ciebie, inaczej nie widziałem niczego porównywalnego w C. W szczególności, boost::asio
obsługuje I/O Completion Ports (IOCP)
w systemie Windows, co ma krytyczne znaczenie dla wydajności. boost::asio
wymaga trochę czasu, aby się uczyć, ale według mnie osobiście warte każdej minuty spędzonej na czytaniu dokumentacji (która jest świetna) i pracy z przykładami.
[POSIX dla Windows] (http://en.wikipedia.org/wiki/POSIX#POSIX_for_Windows) – Kulti