Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2010, 21:10   #1
Артэс
Форумчанин
 
Регистрация: 05.06.2007
Сообщений: 529
По умолчанию поток

Скажите, в чем разница между CreateThread(); и _beginthreadex(); и что лучше использовать?
Артэс вне форума Ответить с цитированием
Старый 07.07.2010, 21:43   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

первое это АПИ, а второе обертка от билдера
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.07.2010, 23:05   #3
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Пепел Феникса
Цитата:
а второе обертка от билдера
шо?

msdn
Цитата:
A thread in an executable that calls the C run-time library (CRT) should use the _beginthread and _endthread functions for thread management rather than CreateThread and ExitThread; this requires the use of the multi-threaded version of the CRT. It is safe to call CreateThread and ExitThread from a thread in a DLL that links to the static CRT as long as the thread does not call the DisableThreadLibraryCalls function.
кратко-вольный перевод. если используешь многопоточную версию crt, используй _beginthread. иначе возникнут проблемы при использовании глобальных переменных и тп, ибо в первой версии crt и понятия не было о многозадачности. об этом еще рихтер писал

а "ex" - просто более широкий набор параметров, не более
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 07.07.2010, 23:07   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

значит не только в билдере есть такая вещь
но по сути это тем не менее обертка.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.07.2010, 23:08   #5
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
значит не только в билдере есть такая вещь
но по сути это тем не менее обертка.
билдер тут ни при чем. это такая же микрософтская апи. возможно ты путаешь с BeginThread.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 07.07.2010, 23:13   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

да ты прав...сегодняшная духота вымотала
ну CRT не совсем часть АПИ конечно...хотя эта ДЛЛ сейчас почти всегда уже присутствует в системе.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.07.2010, 23:24   #7
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Пепел Феникса
Цитата:
ну CRT не совсем часть АПИ
я сказал, что _beginthread это апи, а не crt. если на то уж пошло, то это не длл) msvcrtXX может и длл) и она не "почти всегда", она абсолютно точно, однозначно и безповоротно существует в системе, разница в версиях
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 07.07.2010, 23:35   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

признаю ошибку.
спасибо за исправление
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.07.2010, 11:27   #9
Артэс
Форумчанин
 
Регистрация: 05.06.2007
Сообщений: 529
По умолчанию

Как понимаю, _beginthread обеспечивает более безопасное создание потока?

И если это связано с CRT, надежно ли это? помнится, давно, редко, во время выполнения программы встречалось сообщение об ошибке C Runtime Library. В любом случае, хочется надежности, и защищенности.
Артэс вне форума Ответить с цитированием
Старый 08.07.2010, 12:12   #10
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Артэс
я же тебе все разжевал
Цитата:
кратко-вольный перевод. если используешь многопоточную версию crt, используй _beginthread. иначе возникнут проблемы при использовании глобальных переменных и тп, ибо в первой версии crt и понятия не было о многозадачности. об этом еще рихтер писал
какой вывод ты должен был из этого сделать? прочитать книгу Рихтера!

Цитата:
В любом случае, хочется надежности, и защищенности.
остальная надежность зависит от того, как будет написан код
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поток в C Svetoch Помощь студентам 0 16.05.2010 20:03
Поток в Си shapiro Помощь студентам 1 18.04.2010 23:01
поток Артэс Общие вопросы C/C++ 3 09.12.2009 22:20
ПОТОК Neymexa Общие вопросы .NET 5 12.05.2009 01:03
Поток Черничный Общие вопросы Delphi 5 27.09.2008 21:23