Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Многозадачность в Паскале 
:(
    Опции темы
HackMan
  Дата 21.6.2005, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: нет
Всего: 9



Как в Паскале организовать многозадачность? smile


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
Snowy
Дата 21.6.2005, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: нет
Всего: 484



Цитата(HackMan @ 21.6.2005, 16:11)
Как в Паскале организовать многозадачность?

Под DOS или под Win?
Если под Win, то стандартными средствами WinAPI.
Если под DOS, то только внутри собственного приложения (многозадачность своих функций).
Для этого требуется грамотно спланировать приложение.
PM MAIL   Вверх
poor_yorik
Дата 21.6.2005, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 12.1.2005
Где: Общаги г. Киева

Репутация: нет
Всего: 8



Дело в том, что Borland Pascal писался не по Винду и такого новшества, как многозадачность в нем просто напросто не было. DOS все время выполняет один процесс, и не может перескакивать от одной задачи к другой как это делает Win32. А поэтому, как таковую многозадачность можно найти в Pascal for Windows не ранних версий и в Object Pascal. smile
А для каких целей собственно нужна многозадчность. Может создать ее искуственно или как то обойти. smile
--------------------
Семь раз отмерь, один раз - откомпиль.... Семь раз отпей, один раз - отлей... Семь раз отъешь, один раз - не жадничай и другим дай...
PM MAIL YIM   Вверх
Snowy
Дата 22.6.2005, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: нет
Всего: 484



Цитата(poor_yorik @ 21.6.2005, 19:09)
Дело в том, что Borland Pascal писался не по Винду

Borland писался как раз под винду. Turbo писался под DOS.
Но ведь существуют еще Free, TMT и другие компиляторы паскаля.

Цитата(poor_yorik @ 21.6.2005, 19:09)
такого новшества, как многозадачность в нем просто напросто не было

Если речь идет о создании многозадачности для приложений, то почти так и есть.
Исключение составляют Windows 3.x и, блин, забыл как называлась оболочка от микрософта, входящая в комплект DOS... Они позволяли запускать несколько процессов одновременно и переключаться между ними. Хотя многозадачностью это назвать трудно, но можно.

Цитата(poor_yorik @ 21.6.2005, 19:09)
DOS все время выполняет один процесс, и не может перескакивать от одной задачи к другой как это делает Win32.

Может. Точно так же, как и Windows. Просто в нем нет готовых решений для этого.
Но это то, что касается многозадачности приложений.
В то же время многозадачность может быть реализована внутри одного приложения.
Как пример - сервера под DOS.
Они принимают запросы сразу от нескольких клиентов и раздают ответы "одновременно".
Просто внутренний функционал устроен так, что приложение производит переключение между собственными процедурами, как это делает винда. Пусть процесс более простой, но общий принцип такой же.
Просто это нужно все делать ручками. DOS не предоставляет таких возможностей, но и не запрещает их.
Те же DOSовские резиденты - по сути многозадачность. Аналог виндовых хуков.
PM MAIL   Вверх
poor_yorik
Дата 22.6.2005, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 12.1.2005
Где: Общаги г. Киева

Репутация: нет
Всего: 8



Просто Snowy я хоте сказать, что в DOSе, нет как таковых средств для поддержания многозадачности, как это делает Виндуза, за доли секунды перескакивая с одного процесса на другой, и поэтому она поддредживается в основном програмно.
То есть надо знать, для чего нужна многозадачность, а потом уже думать, как её реализовать.
Я так думаю smile .
--------------------
Семь раз отмерь, один раз - откомпиль.... Семь раз отпей, один раз - отлей... Семь раз отъешь, один раз - не жадничай и другим дай...
PM MAIL YIM   Вверх
Snowy
Дата 22.6.2005, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: нет
Всего: 484



Можно воспользоваться готовыми решениями:
http://pascal.sources.ru/multtask/index.htm
А здесь: http://www.5ka.ru/67/27551/1.html можно почитать общую теорию многозадачности.
PM MAIL   Вверх
Guest
Дата 7.7.2005, 13:47 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо!

Интересный пример и статейка.
То, что я искал
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.1331 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.