ответ
Boost threads - действительно фактический стандарт потоковой передачи C++. Я бы рекомендовал хотя бы ознакомиться с API-интерфейсом Threading Boost, поскольку он более или менее идентичен предстоящему стандартизованному C++ 0x std::thread
.
Бустерные ускорители (booboos?) может повлиять на это, но стандарт defacto в той мере, в какой он существует, вероятно, является pthreads. Но большинство людей, пишущих MT-код, с трудом выдерживают очарование особенностей платформы. Или, по крайней мере, я знаю. – 2009-12-10 22:54:24
@Neil - это хороший способ сказать, что потоки boost/C++ 0x - простая ваниль. – Duck
@Neil - Я согласен, что их, вероятно, больше pthread-кода, чем boost. Но учитывая, что std :: thread скоро станет реальным стандартом (не де-факто), и это C++ (не C), я бы сказал, что любой код, написанный с использованием потоков boost, будет более легко переносимым в std :: thread, когда он более широко доступны. –
кварты имеет многопоточную поддержку ...
Он делает, но это не так, как хотелось бы. –
Вы можете использовать Pthreads и реализовывать свои собственные обертки C++. Это будет очень гибким и портативным, и вы сможете определить интерфейс C++ так, как вам подходит. Это, пожалуй, больше усилий с вашей стороны, чем вы намеревались.
Для второй части Вашего вопроса:
Интеграция C++ в Objective-C является чрезвычайно легко; Я добавил C++-библиотеку в свое приложение без проблем. Вы не используете какой-либо специальный синтаксис или что-то еще. У Apple есть good info на Objective-C++, но вы должны уже знать Objective-C, чтобы понять это.
Caveat: Для того, чтобы сделать приложение iPhone, вы имеют знать основные Objective-C; это единственный способ контролировать интерфейс, по крайней мере.
FWIW, я не думаю, что все они полностью эквивалентны.
ACE, Boost, Poco и QT - это всего лишь обертки вокруг поддерживаемых поддерживающих платформ. OpenMP и особенно TBB работают, на мой взгляд, на более высоком уровне абстракции и поощряют другой способ рассмотрения проблем.
Boost.Thread замечательный .. но не уверен, что он будет работать на iPhone. Если вы нацеливаете iPhone, вы должны просто использовать класс NSThread, в частности его функцию detatchNewThreadSelector, чтобы создать новый поток. Вы можете использовать функцию performSelectorOnMainThread для выполнения работы в потоке событий пользовательского интерфейса.
Проблема с использованием C++ на iPhone заключается в том, что iPhone в настоящее время не поддерживает исключения C++ (он поддерживает исключения «SJLJ», которые используются Objective-C, но не стандартные исключения C++), что означает, что любой код на C++ который использует обработку исключений C++, не сможет ссылаться на iPhone.
Быстрый Google показал, что некоторые люди смогли скомпилировать библиотеку Threading для Boost для iPhone. –
Я хотел бы также добавить ПОКО, который недавно был портирован на iPhone:
Слишком сложно создать статическую сборку. Кроме того, он создает каталог, начинающийся с дефиса. –
- 1. Опция компилятора, зависящая от архитектуры архитектуры GNU Fortran
- 2. Python - независимая от платформы 5.1 Звуковая библиотека
- 3. Корреляция, зависящая от выборок
- 4. Имеется команда запуска, зависящая от службы ОС и IF
- 5. Автономная библиотека http/https
- 6. библиотека, зависящая от библиотеки Android, с файлом res
- 7. Как программа не зависит от ОС?
- 8. Автономная библиотека для AJAX
- 9. Функция, зависящая от другой функции
- 10. Производная функция, зависящая от класса
- 11. Компиляция, зависящая от Android-версии
- 12. зависящая от обновления цепочка входов
- 13. Независимая от платформы библиотека пользовательского интерфейса для использования с GLUT
- 14. Платформа независимая математическая библиотека
- 15. Лучшая независимая от pi постоянная?
- 16. iptables - независимая от направления фильтра
- 17. конкатенатный путь - независимая от платформы «/», «\»
- 18. автономная библиотека JavaScript xslt?
- 19. Propel как автономная библиотека
- 20. Автономная общая библиотека
- 21. jQuery как автономная библиотека ajax
- 22. Константа, зависящая от типа в функции шаблона
- 23. зависящая от контекста проверка для BeanValidation
- 24. Время и дата, зависящая от страницы Содержание
- 25. ассемблера создана функция, зависящая от переменной
- 26. зависящая от результата оптимизация цикла в R?
- 27. Большая ошибка RegEx Match, зависящая от программы
- 28. инъекция углового сообщения, зависящая от углового js
- 29. Функция с изменяющейся переменной, зависящая от класса
- 30. Новая переменная SAS, зависящая от наблюдений
Это должно быть действительно два вопроса. –
Убрали второй вопрос. –