Nếu bạn thực sự muốn C (không phải C++), tôi đề xuất sử dụng các chuỗi POSIX chuẩn trên nền tảng không phải Windows và sử dụng pthreads-win32 trên Windows. Nó hỗ trợ cả 32 và 64 bit, cả MSVC và MinGW. Phiên bản hiện tại (2.9.1) đã được phát hành chỉ một tháng trước, do đó dự án được duy trì tích cực. Ngoài ra còn có một fork on github với một số bản sửa lỗi trong dự án MSVC2010.
Nếu C++ cũng là một lựa chọn, tôi sẽ chọn tăng, bởi vì nó là nơi mà c tiêu chuẩn ++ tiến hóa (thiết kế của std::thread
trong C++ 11 là một quá trình tiến hóa từ boost::thread
, vv)
Đối với mạng một phần của câu hỏi của bạn, boost::asio
là lựa chọn tốt nhất nếu C++ là OK cho bạn, nếu không không thấy bất kỳ thứ gì có thể so sánh được trong C. Cụ thể, boost::asio
hỗ trợ I/O Completion Ports (IOCP)
trên Windows, điều này rất quan trọng đối với hiệu suất. boost::asio
đòi hỏi một chút thời gian để tìm hiểu, nhưng theo ý kiến cá nhân của tôi nó có giá trị mỗi phút dành để đọc tài liệu (tuyệt vời) và làm việc với các ví dụ.
[POSIX cho Windows] (http://en.wikipedia.org/wiki/POSIX#POSIX_for_Windows) – Kulti