Какой лучший способ запустить поток, _beginthread
, _beginthreadx
или CreateThread
?
Я пытаюсь определить, каковы преимущества/недостатки _beginthread
, _beginthreadex
и CreateThread
. Все эти функции возвращают дескриптор потока во вновь созданный поток, я уже знаю, что CreateThread предоставляет небольшую дополнительную информацию при возникновении ошибки (ее можно проверить, вызвав GetLastError
)... но какие вещи я должен рассмотреть когда я использую эти функции?
Я работаю с приложением Windows, поэтому кросс-платформенная совместимость уже не может быть и речи.
Я просмотрел документацию msdn, и я просто не понимаю, например, почему кто-то решил использовать _beginthread вместо CreateThread или наоборот.
Ура!
Обновление:
Хорошо, спасибо за всю информацию, я также прочитал несколько мест, которые я не могу назвать WaitForSingleObject()
, если бы использовал _beginthread()
, но если я вызываю _endthread()
в потоке, это не должно работать? Какая сделка там?