История изменений
Исправление shkolnick-kun, (текущая версия) :
Почему? В плюсах тоже можно в лямбду перемещать.
Очень может быть, хотя кресты тоже не нужны.
Нет. Плюсовый аналог: создать thread и позвать для него join.
Прямого то нет. Немедленно? Зачем?
Как это? А если вызов единственный?
Погоди...
Я правильно понимаю, что типаж Sync пустой, то есть это тупо способ сказать компилятору, что ссылку на нечто можно безопасно передавать между тредами?
Ну тогда это особый случай, и его надо обозначить явно, правда зачем так многословно?
А если это библиотека, например?
Если статическая, то хранить ее в промежуточном представлении, и делать специализации...
Если динамическая... Это уже интересней... Можно в «заголовке» экзешника указывать, какие специализации нужны, и JIT-ить библиотеку в соответствии с этой информацией из промежуточного представления, например (вот это я дотнетчик, однако).
Или если решение об использовании потоков происходит в рантайме?
Если есть вызов spawn - заворачивать в мьютекс/другой механизм синхронизации и не волнует (да это не всегда оптимально).
Исправление shkolnick-kun, :
Почему? В плюсах тоже можно в лямбду перемещать.
Очень может быть, хотя кресты тоже не нужны.
Нет. Плюсовый аналог: создать thread и позвать для него join.
Прямого то нет. Немедленно? Зачем?
Как это? А если вызов единственный?
Погоди...
Я правильно понимаю, что типаж Sync пустой, то есть это тупо способ сказать компилятору, что ссылку на нечто можно безопасно передавать между тредами?
Ну тогда это особый случай, и его надо обозначить явно, правда заче так многословно?
А если это библиотека, например?
Если статическая, то хранить ее в промежуточном представлении, и делать специализации...
Если динамическая... Это уже интересней... Можно в «заголовке» экзешника указывать, какие специализации нужны, и JIT-ить библиотеку в соответствии с этой информацией из промежуточного представления, например (вот это я дотнетчик, однако).
Или если решение об использовании потоков происходит в рантайме?
Если есть вызов spawn - заворачивать в мьютекс/другой механизм синхронизации и не волнует (да это не всегда оптимально).
Исходная версия shkolnick-kun, :
Почему? В плюсах тоже можно в лямбду перемещать.
Очень может быть, хотя кресты тоже не нужны.
Нет. Плюсовый аналог: создать thread и позвать для него join.
Прямого то нет. Немедленно? Зачем?
Как это? А если вызов единственный?
Погоди...
Я правильно понимаю, что типаж Sync пустой, то есть это тупо способ сказать компилятору, сто ссылку на нечто можно безопасно передавать между тредами?
Ну тогда это особый случай, и его надо обозначить явно, правда заче так многословно?
А если это библиотека, например?
Если статическая, то хранить ее в промежуточном представлении, и делать специализации...
Если динамическая... Это уже интересней... Можно в «заголовке» экзешника указывать, какие специализации нужны, и JIT-ить библиотеку в соответствии с этой информацией из промежуточного представления, например (вот это я дотнетчик, однако).
Или если решение об использовании потоков происходит в рантайме?
Если есть вызов spawn - заворачивать в мьютекс/другой механизм синхронизации и не волнует (да это не всегда оптимально).