DCE нити - DCEThreads

DCE нити это реализация POSIX Набрать 4 потока.

История

DCE / RPC находился в стадии разработки, но комитет POSIX еще не доработал потоки POSIX. Открытая группа пришлось принять решение о том, чего придерживаться, и, к сожалению, окончательные потоки POSIX отличались от их выбора.

Потоки POSIX Draft 4 изначально были ограничены (окончательный стандарт исправил их). Microsoft внедрила DCE / RPC оптом в Windows NT как MSRPC а также в DCOM. Большинство проблем со стабильностью и надежностью, которые программисты связывают со службами DCOM, особенно утечки памяти, проблемы с обработкой исключений и проблемы со стабильностью отмены потоков - можно проследить до использования потоков POSIX Draft 4.

DCE / RPC достаточно сложен, поэтому его обновление для решения и модернизации проблемы многопоточности POSIX Draft 4 требует высококвалифицированных и узкоспециализированных знаний в области программирования. Следовательно, несмотря на все свои возможности, эталонная реализация DCE / RPC не работает из-за нехватки информации и ресурсов.

Ключевое различие между потоками POSIX Draft 4 и окончательной спецификацией потоков POSIX, помимо того, что некоторые функции могут быть прерваны, а другие нет, - это отмена потока. DCE / RPC использует отмену потока для распространения сигналов через «Remote» RPC, так что, например, клиентское приложение, завершающее поток, приводит к тому, что его соответствующий поток на сервере также завершается таким же образом. К сожалению, окончательная спецификация POSIX не включает такую ​​сложную методологию отмены, и, учитывая трудности, с которыми поставщики Unix столкнулись при правильной реализации спецификации потоков POSIX, неудивительно, что она была удалена.

Последние достижения

В Linux с момента появления NPTL и ядра Linux 2.6 появилась надлежащая поддержка отмены потоков.

Текущее использование

DCEThreads теперь реально существует только как слой эмуляции.