![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Notreg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 10.1.2007 Репутация: нет Всего: нет |
Реально ли завершить одну процедуру из другой не повредив, последнюю???, Так как в процедуре, которую следует вырубить выполняется интенсивная обработка данных в цикле, то принудительное ее остановка может привести к непредсказуемым последствиям!!! Как без палево по тихому отрубить трудолюбивою процедурку???
--------------------
Надежна лишь смерть, жизнь - нет. |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: нет Всего: 98 |
при чем тут SendMessage и PostMessage?
какая процедура находится в какой? чем не подходит самый стандартный и безопасный метод "опрос флага"? без чего? -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Notreg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 10.1.2007 Репутация: нет Всего: нет |
опрос флага помогает если тока использовать крестик в правом верхнем углу, при выполненеие это процедурки другие кнопки не нажимаются
--------------------
Надежна лишь смерть, жизнь - нет. |
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: нет Всего: 38 |
Самый правильный вариант - в процедуре, которую надо остановить проверять флаг, как и сказал _hunter. Примерно так:
-------------------- ![]() |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 7 Всего: 89 |
Нет, в одном потоке это точно невозможно. Процедура по-сути это команда, которая заключает в себе некую группу других комманд. В определенный момент времени может выполняться только одна команда. А если выполняються только процедурные команды, то к команде "прерывания" процедуры дело просто не дойдет. Добавлено @ 12:11 Можно, конечно использовать флаги - это единственный выход. -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| Notreg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 10.1.2007 Репутация: нет Всего: нет |
Как предотвратить зависание кнопок, application.processmessages; не помогает!!!
--------------------
Надежна лишь смерть, жизнь - нет. |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 7 Всего: 89 |
Что значит, "зависание кнопок"? Покажи код где это не помогает. -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 1 Всего: 121 |
К слову, не одна. Суперскалярность, однако -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 7 Всего: 89 |
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: нет Всего: 98 |
тогда запусти поток (в котором и выполняй ту процедуру) -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 1 Всего: 121 |
Это технология, которая позволяет современным процессорам выполнять несколько команд за один такт. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: нет Всего: 38 |
Notreg, покажи код. Application.ProcessMessages должен помогать, видимо у тебя циклы в циклах (простите за тафталогию).
-------------------- ![]() |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 7 Всего: 89 |
Это возможно только для нескольких потоков. Для даной программы в определенный момент времени выполняется только одна команда. -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| Notreg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 10.1.2007 Репутация: нет Всего: нет |
В кратце объясните как запустить поток, с примером, пожалуйста!!! Процедура обрабатывет огромную базу данных, под курсором появляется надпись "SQL" , программа на нажатие кнопок не реагирует.
--------------------
Надежна лишь смерть, жизнь - нет. |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 7 Всего: 89 |
ищи по форуму. Ключевое слово thread
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 1 Всего: 121 |
Да ладно? Неприлично посылать курить маны человека с таким кол-ом сообщений, но по-моему тебе стоит их покурить. Извиняюсь за оффтоп. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| Sunvas |
|
||||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 7 Всего: 89 |
Согласен, но никак нельзя сказать, что две процедуры выполняються в одном потоке одновременно. Есть две команды:
Вторая выполниться только после того, как выполниться первая. И никакие процессоры этого не изменят. -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
||||
|
|||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: нет Всего: 38 |
Sunvas, ты путаешь одно с другим. В твоем случае - вызываются модальные формы, которые приостанавливают выполнение заданий. А в исходном вопросе речь шла о вычислениях в цикле, которые можно выполнять параллельно...
-------------------- ![]() |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: нет Всего: 128 |
aktuba, да какая разница то?
пока не закочит выполнение процедура proc1, proc2 не получит управление. и вычисления в цикле будут выполнятся параллельно(да и то "псевдопараллельно", если только у вас не 2х и более ядерный проц) только если они будут исполняться в отдельном потоке. в случае Application.ProcessMessages никакой параллельности не будет. W4FhLF, Sunvas не ссортесь) вы оба в чем-то правы. про суперскалярность можно прочитать здесь. очень понятно, имхо, написано. Это сообщение отредактировал(а) MetalFan - 11.1.2007, 14:55 -------------------- There are always someone smarter than you... |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 1 Всего: 121 |
Sunvas, ты изначально говорил команды, а теперь говоришь процедуры. Не находишь, что это разные понятия? Я прекрасно понимаю, что две разные процедуры не могут быть исполнены параллельно, речь идёт о одной машинной команде процессора. В силу нескольких конвейеров в современных процессорах команды могут быть параллельно раскодированы и выполнены одновременно за один такт. Есть конечно и несколько условий, не всегда процессор позволяет выполнить несколько команд одновременно, а только в тех случаях, когда рядом стоящие команды имеют одноу природу и результат выполнения последуюшей не зависит от результата выполнения предыдущей.
-------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 7 Всего: 89 |
Когда я говорил "команда" по подразумевал процедуру. Так уж сложилось, что операцию a:=b у меня как-то язык не поворачивается назвать процедурой. На процессорном уровне - согласен. -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: нет Всего: 38 |
MetalFan,
Вот это я и имел в виду... -------------------- ![]() |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 7 Всего: 89 |
Да. А инстина, как всегда, где-то посередине. -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |