Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > С/С++
Перезагрузить страницу Синхронизация потоков стандарте C/C++
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Odin_KG Odin_KG вне форума
Member
 
Сообщений: 956
Сказал(а) спасибо: 0
Поблагодарили 17 раз(а) в 16 сообщениях
Регистрация: 28.01.2007
По умолчанию Синхронизация потоков стандарте C/C++ - 24.04.2011, 04:42

Существуют стандартные библиотеки, которые должны существовать в любой версии C/С++, например stdio. А есть ли в стандарте библиотека, которая позволяет синхронизировать потоки (что-то типа критических секций)? Важно, чтобы не пришлось переписывать код под разные платформы.
Ответить с цитированием
  (#2 (permalink)) Старый
Angel5a Angel5a вне форума
Member
 
Сообщений: 1,213
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 28.02.2005
По умолчанию 24.04.2011, 09:17

Потоки, на сколько мне известно, не входят в стандарт с/с++. Есть те же beginthread но это надстройки компиляторов. Можно взять какую нить кроссплатформенную библиотеку вроде Qt, там и потоки и их синхронизация есть, и в добавок графический интерфейс.
Ответить с цитированием
  (#3 (permalink)) Старый
Odin_KG Odin_KG вне форума
Member
 
Сообщений: 956
Сказал(а) спасибо: 0
Поблагодарили 17 раз(а) в 16 сообщениях
Регистрация: 28.01.2007
По умолчанию 24.04.2011, 11:25

Цитата:
Потоки, на сколько мне известно, не входят в стандарт с/с++.
вот мне тоже так кажется.

взять QT не могу, к сожалению. У меня кросс-платформенная библиотека с минимумом привязок ко всяким дополнительным штукам, кроме самого C++.
Ответить с цитированием
  (#4 (permalink)) Старый
Angel5a Angel5a вне форума
Member
 
Сообщений: 1,213
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 28.02.2005
По умолчанию 24.04.2011, 22:42

Ну секвентные блокировки можно и самостоятельно реализовать. остальные можно из ядра линукса вытянуть. Но лучше всё же сделать условную компиляцию.
Ответить с цитированием
  (#5 (permalink)) Старый
Odin_KG Odin_KG вне форума
Member
 
Сообщений: 956
Сказал(а) спасибо: 0
Поблагодарили 17 раз(а) в 16 сообщениях
Регистрация: 28.01.2007
По умолчанию 25.04.2011, 01:38

Цитата:
Ну секвентные блокировки можно и самостоятельно реализовать.
Что такое "секвентные блокировки"? Как я понимаю, самостоятельно я могу просто устанавливать флаг одним потоком, а вторым его проверять, но это будет постоянное ожидание.

Цитата:
остальные можно из ядра линукса вытянуть.
насчет линукса вообще не понял.

Цитата:
Но лучше всё же сделать условную компиляцию.
Хм... чтобы делать условную компиляцию надо разбираться с каждой платформой отдельно, что не есть хорошо, да и ошибиться легко. По мне так проще сделать внутри библиотеки постоянную проверку на флаг, но зато дать возможность изменять эту функцию извне, т.е. подключать любую внешнюю синхронизацию.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
alex82 alex82 вне форума
Новичок
 
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.03.2011
По умолчанию 25.04.2011, 11:51

используй PThreads или из Boostа
Ответить с цитированием
  (#7 (permalink)) Старый
Odin_KG Odin_KG вне форума
Member
 
Сообщений: 956
Сказал(а) спасибо: 0
Поблагодарили 17 раз(а) в 16 сообщениях
Регистрация: 28.01.2007
По умолчанию 25.04.2011, 14:16

Цитата:
Сообщение от alex82 Посмотреть сообщение
используй PThreads или из Boostа
Почему-то в википедии написано, что стандарт POSIX, к которому относится PThread нет по умолчанию в Windows: POSIX — Википедия

За совет благодарю! Надо обмозговать будет.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выборочная синхронизация потоков sercher81 WinAPI 1 13.07.2011 21:17
Синхронизация. Extensa Любые вопросы от новичков 4 17.04.2011 12:05
Синхронизация потоков как сделать Sergey727 C++ на Unix 1 08.12.2010 12:32
Создание потоков на C++ Builder vilru C++ Builder 6 25.02.2009 12:23
Синхронизация потоков в MFC Dialog Based Application приложении Sash'Ok! Visual C++ 8 17.05.2007 16:00
Как организовать пул потоков Leonidos_ С/С++ 4 04.05.2007 12:49
Что нового в следующем Стандарте C++ just_vladimir С/С++ 5 20.02.2007 23:20
Синхронизация потоков на приложении Fuud Delphi 5 11.02.2007 18:18
Создание потоков в приложении |ina C++ Builder 9 15.07.2006 17:46
Как работать с замораживанием потоков Smolnyj WinAPI 14 17.03.2006 21:52
Вопрос о стандарте, или какая функция выполняется первой TeeT С/С++ 16 02.02.2006 11:45
Получение видео потоков Anonymous Программирование графики 3 17.01.2004 19:29



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов