В соответствии с черновиком стандарта C ++ 0x, этот код:
void simplethread()
{
boost::thread t(someLongRunningFunction);
// Commented out detach - terminate() expected.
// t.detach();
}
... должен привести к вызову terminate (), но в текущей (boost 1.46.1) реализации boost потоков, которых нет, поток просто отключается в деструкторе и продолжается.
Мой вопрос: почему?
Я думал, что boost :: thread настолько встроен в черновой стандарт, насколько это возможно.
Есть ли для этого дизайнерская причина? Будет ли он изменен в будущих версиях boost :: thread?