Два параллельных процесса в pascal |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Два параллельных процесса в pascal |
Unconnected |
Сообщение
#1
|
Гость |
Возможно ли организовать два параддедбно идущих действия в программе на pascal?
|
Unconnected |
Сообщение
#2
|
Гость |
|
andriano |
Сообщение
#3
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Возможно.
(Собственно, аскаль здесь ни при чем - это можно сделать на любом унверсальном языке. Но решение зависит от ОС.) |
Unconnected |
Сообщение
#4
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Я так понял,что при реализации будет использоваться ассемблер?
А при чём сдесь ОС? -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Ozzя |
Сообщение
#5
|
Гуру Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: 16 |
|
andriano |
Сообщение
#6
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Я так понял,что при реализации будет использоваться ассемблер? А при чём сдесь ОС? Зачем Ассемблер? Практически все, что может когда-либо и кому-либо потребоваться, можно написать на любом языке высокогу уровня. Хотя бы на том же Паскале. А ОС при том, что все ОС можно разделить на три группы: 1. Не поддерживающие ни многозадачность, ни параллельные вычисления. Пример - DOS. 2. Поддерживающие многозадачность, но не поддерживающие параллельные вычисления. Пример - Windows 3.x, Windows 9x. 3. Поддерживающие как многопоточность, так и параллельные вычисления. Пример: Windows NT, Unix. Если ОС не поддерживает ничего, то все, что можно сделать, это ручками организовать поочередное выполнение разных задач на одном процессорном ядре. (приведенная выше ссылка демонстрирует как раз этот подход) Во втором случае то же самое можно сделать гораздо проще - с использованием средств ОС. В третьем случае можно средствами ОС организовать реально параллельные вычисления, т.е. разные задачи будут выполнять различными ядрами многоядерного процессора или различными процессорами многопроцессорной системы. Код при этом будет почти или в точности таким же, как и в случае 2. |
Unconnected |
Сообщение
#7
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Программа,в которой я собираюсь реализовывать параллельные процессы,будет работать только на XP.) Можно привести любой простейший на Паскале? Просто меня интересует именно программная реализация.
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
volvo |
Сообщение
#8
|
Гость |
Паскали - они разные бывают. Если тебе все еще хочется изобретать велосипеды - то ходи по ссылке, которую дал Оззя, там есть примеры. Если все-таки использовать более современное ПО - то см. сюда: Класс Thread
|
Unconnected |
Сообщение
#9
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
В данный момент я пишу на паскале,пооэтому придётся ходить по ссылке и разбирться в английских комментариях
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
volvo |
Сообщение
#10
|
Гость |
Опять 25... Тебя русским языком спрашиваю, на КАКОМ Паскале ты пишешь? На Турбо что-ли?
|
Unconnected |
Сообщение
#11
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Volvo, в твоём предпоследнем сообщении нет ни одного вопросительного знака Да, на TP7.
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
andriano |
Сообщение
#12
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Unconnected, TP7 не умеет генерировать код для WinXP. С чем, собственно, связаны как вопросы volvo, так и мои.
Для TP7 справедлив только п.1. в моем почсте №6, а для BP7 - 1 и 2. |
Unconnected |
Сообщение
#13
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
То есть,запуская паскальную программу в XP,она открывается в DOSовском окне,правильно?
Сообщение отредактировано: Unconnected - -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
andriano |
Сообщение
#14
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Не совсем.
Любой компилятор может сделать ехе-шник только для конкретной ОС. Дркгое дело, что программы, сделанные для DOS в большинстве своем можно запустить в DOS-сессии Windows. Но DOS многопоточность не поддерживает, следовательно, программа для него неспособна одновременно выполнять разные действия, только поочередно. |
Unconnected |
Сообщение
#15
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Ясно.Получается,что ссылка,которую запостил Ozzя , актуальна только для Borland Pascal и для Windows 3.x, Windows 9x?
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
xds |
Сообщение
#16
|
N337 Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: 26 |
Unconnected, что конкретно надо реализовать?
-------------------- The idiots are winning.
|
andriano |
Сообщение
#17
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Ясно.Получается,что ссылка,которую запостил Ozzя , актуальна только для Borland Pascal и для Windows 3.x, Windows 9x? Ссылка касается псевдопараллельных действий. И ничего другого в DOS, Win3x,Win9x быть не может. Опиши подробнее, что именно тебе нужно, тогда можно будет дать какой-либо конкретный совет (общетеоретические ответы ты, похоже, не воспринимаешь). |
Unconnected |
Сообщение
#18
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Ну,например,выполняется в цикле вывод на экран чисел от одного до ста,и при этом с воспроизводится wav-файл.
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
andriano |
Сообщение
#19
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Ну,например,выполняется в цикле вывод на экран чисел от одного до ста,и при этом с воспроизводится wav-файл. Естественно, можно. Воспроизведение wav-файла настраивается на аппаратное прерывание от звуковой карты, а передача данных в нее поручается контроллеру прямого доступа к памяти, и в нужные моменты вычисления прерываются, готовится буфер из новой порции звуковых данных, после чего управление возвращается "арифметической" части. Собственно, так были организованы все игры под DOS. |
Unconnected |
Сообщение
#20
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Спасибо за обьяснение,буду пробовать
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
Текстовая версия | 23.12.2024 20:52 |