Разглеждам многопоточността и GCD изглежда като много по-добър вариант от ръчното писане на решение с помощта на pthread.h
и pthreads-win32
. Въпреки това, въпреки че изглежда, че libdispatch
или работи върху, или скоро ще работи върху повечето по-нови POSIX-съвместими системи... Трябва да попитам, какво ще кажете за Windows? Какви са шансовете libdispatch
да бъде пренесен към Windows? Какви са бариерите, които пречат това да се случи?
Ако се сведе до това, какво би трябвало аз да направя, за да оформя този пренос?
Редактиране: Някои неща, които вече знам, за да започна дискусията:
- Имаме нужда от компилатор, съвместим с блокове, който ще компилира в Windows, нали? PLBlocks ще се справи ли с това?
- Можем ли да използваме LLVM блокове за изпълнение?
- Не можем ли да заменим всички
pthread.h
зависимости в потребителското пространствоlibdispatch
с APR повиквания за преносимост? Или, алтернативно, използвайтеpthreads-win32
предполагам...
Редактиране 1: Чувам, че това е напълно и напълно невъзможно, никога, защото libdispatch
зависи (някак си) от kqueue
, който не може да бъде наличен в Windows... някой знае ли дали това е вярно?
OR
s срещу едно d-; Но във всеки случай интересно. Може би това е възможно решение; най-малкото би било добре да видитеlibdispatch
API обвивка около тях. - person ELLIOTTCABLE   schedule 04.05.2010