powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Много поточность!
15 сообщений из 65, страница 3 из 3
Много поточность!
    #34142893
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТоесть утверждаете, что это - суть разные вещи.угу, вот прогаммерам на жаве сызмальства втирают, что потоки на солярке реализованы как нити.
...
Рейтинг: 0 / 0
Много поточность!
    #34142942
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton maXmoпроцессы делаются для изоляции задач в виртульной памяти, потоки - для шедулинга процессорного времени, нити - для шедулинга лапками. А в линухе как?

Минутку... минутку... вы разделяете термины поток (thread) и нить (? thread ?). Тоесть утверждаете, что это - суть разные вещи. До этого времени я так не считал. Давайте определимся, что есть что во избежание кривотолков.

С уважением
Mayton

волокна имеются в виду. есть в винде такое, многопоточность а-ля Win16 в рамках одного потока
...
Рейтинг: 0 / 0
Много поточность!
    #34142972
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
фибры примечательны тем, что между ними можно переключаться, скажем, раз в секунду, а не раз в миллисекунду или как там ось потоки переключает... Кстати, миллисекунда - это сколько миллионов тактов? А вы 6-10...
...
Рейтинг: 0 / 0
Много поточность!
    #34143118
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoфибры примечательны тем, что между ними можно переключаться, скажем, раз в секунду, а не раз в миллисекунду или как там ось потоки переключает... Кстати, миллисекунда - это сколько миллионов тактов? А вы 6-10...

Тут дело немного в другом.
Насколько я понимаю если поток
уходит в системый вызов который быстро обработать невозможно
(например ожидание ответа от DMA),
то ОС прекращает контекст нити и отдает процесср другой, готовой к выполнению.
А системный вызов может произойти и на 10 такте контекста.
...
Рейтинг: 0 / 0
Много поточность!
    #34143451
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну... это уже совсем другие яйца.
...
Рейтинг: 0 / 0
Много поточность!
    #34143456
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это поток сам себя прерывает
...
Рейтинг: 0 / 0
Много поточность!
    #34143458
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имеет право :)
...
Рейтинг: 0 / 0
Много поточность!
    #34143516
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoэто поток сам себя прерывает

Если это невытесняющая многозадачность, то сам.
Если вытесняющая то его должна прерывать ОС.

Основная масса современных ОС имеют вытесняющую многозадачность.
...
Рейтинг: 0 / 0
Много поточность!
    #34145428
mikola1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat- maXmoэто поток сам себя прерывает

Если это невытесняющая многозадачность, то сам.
Если вытесняющая то его должна прерывать ОС.

Основная масса современных ОС имеют вытесняющую многозадачность.

хм! ето то понятно вопрос то в другом как лутше сделать что бы работало быстрей. Как отыскать грань количества потоков которые можно создать. Ведь мало потоков создаш проц будет простаивать, создаш много проц будет не спровлятся. Может кто писал много поточные программы? Поделитесь какие трудности возникают что бы сразу же их постораться обойти.
...
Рейтинг: 0 / 0
Много поточность!
    #34145634
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще раз: если основное время занимают вычисления, количество потоков должно быть равно количеству логических процессоров (с учетом моногоядерности, гипертрединга). Если ввод данных - вывод результатов требует заметного времени, потоков можно создавать больше - пока один ждет завершения ввода-вывода, другой считает.
...
Рейтинг: 0 / 0
Много поточность!
    #34145718
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikola1982Может кто писал много поточные программы? Поделитесь какие трудности возникают что бы сразу же их постораться обойти.

Не безбашенное количество потоков - дело не страшное. Ведь в системе и без ваших потоков их достаточное количество, и все же ваша программа выполняется. Тем более, если рассудить, если количество ваших потоков будет расти, то процессор будет чаще переключаться на ваши задачи.

Наибольшая трудность - это найти грань между количеством времени, которое давать потоку для idle, и скоростью с которой он должен обрабатываеть данные. Дашь, много idle - другие будут чаще работать, но он будет дольше передовать данные, мало - наоборот.
...
Рейтинг: 0 / 0
Много поточность!
    #34145723
onstat-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BarloneЕще раз: если основное время занимают вычисления, количество потоков должно быть равно количеству логических процессоров (с учетом моногоядерности, гипертрединга). Если ввод данных - вывод результатов требует заметного времени, потоков можно создавать больше - пока один ждет завершения ввода-вывода, другой считает.

Я думаю немного по другому.
Вычислять нужно в одних потоках, а операции ВВ и другие потенчциально
тормозные прыжки на уровень ядра выносить в другие. Чтобы контекксты
потоков которые занимаются вычеслением не прерывались до истечения.
...
Рейтинг: 0 / 0
Много поточность!
    #34145730
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще. Сейчас некоторые классы организую следующим образом. Поток в цикле вызывает некоторую функцию, которая выполняет логику потока. Это функция находится в public. Так вот, программа, использующая этот класс может сама решать, должен ли класс создавать поток. Если она будет считать, что класс может работать и в контексте потока самой программы, то, например, в конструкторе класса, она скажет, что поток создавать не надо, а сама будет дергать эту функцию.
...
Рейтинг: 0 / 0
Много поточность!
    #34145774
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
onstat-Я думаю немного по другому.
Вычислять нужно в одних потоках, а операции ВВ и другие потенчциально
тормозные прыжки на уровень ядра выносить в другие. Чтобы контекксты
потоков которые занимаются вычеслением не прерывались до истечения.По разному может быть. Если вычисления по типу "прочитали - долго считаем - записали" (долго - значит на рассчеты уходит времени больше, чем на ввод-вывод), то наверное нет смысла. Если рассчеты короткие, может быть. Но если данные для вычислений еще не готовы (другой поток еще не успел прочитать), всё равно вычислительный поток должен встать - и еще надо эту синхронизацию организовывать.
...
Рейтинг: 0 / 0
Много поточность!
    #34148715
mikola1982
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем большое спасибо!
В принцепе основной смысл мне понятен
...
Рейтинг: 0 / 0
15 сообщений из 65, страница 3 из 3
Форумы / C++ [игнор отключен] [закрыт для гостей] / Много поточность!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]