Я пытаюсь войти в программирование с помощью D, и я столкнулся с чем-то вроде проблемы. Я начал использовать класс core.thread Thread, который обеспечивает поддержку для запуска потока и последующего присоединения к нему текущего потока. D, похоже, хочет, чтобы люди использовали передачу сообщений вместо методов блокировки/синхронизации, поэтому я решил попробовать, но каждый пример передачи сообщений, который я вижу, нуждается в tid, который я, похоже, не могу получить из класса Thread. В примерах кода, которые я вижу в Интернете, на самом деле используется spawn, который возвращает tid вместо использования обертки Thread, а затем вы используете tid для передачи сообщений в Thread. Но теперь, похоже, нет никакого способа присоединиться к потоку, основанному на его тиде! И не только это, но вы, похоже, не можете отменить делегата, что требует от меня добавления ненужного уровня косвенности.
Итак, мой вопрос в первую очередь, почему существуют два совершенно разных вкуса потоковой передачи? И, во-вторых, почему они настолько неполны, когда вместе они обеспечивают в основном все, что вам может понадобиться?