powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Несколько потоков и работа с БД
4 сообщений из 29, страница 2 из 2
Несколько потоков и работа с БД
    #38852451
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konstantin-78DarkMasterKonstantin-78,

Зачем тебе вообще еще один поток? Чего ты хочешь добиться-то?
Поток нужен мне для того, чтоб приложение не висло, когда обрабатываются данные, а если еще и в цикле, то вообще на часы

Гм... Либо я не понимаю, как твоя мысль по древу течет, либо одно из двух ;)

Общий подход должен быть примерно таким:
- Рисуем общий гуй, в котором пользователь жмакает разные кнопочки
- По нажатию на магическую кнопочку создаем поток (с отдельным соединением), в котором крутим свой долгий процесс расчетов
- По завершению процесса (не в середине!), перед убиением потока - тупо шлем сообщение главному окну - "обновись, да?"
...
Рейтинг: 0 / 0
Несколько потоков и работа с БД
    #38852523
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster- По завершению процесса (не в середине!), перед убиением потока - тупо шлем сообщение главному окну - "обновись, да?"Насколько понял я, некий расчет делается по строкам в гриде, на каждую строку идет длительное время, после обсчета строки в отдельном треде делается коммит и после этого рефрешится означенная строка.

Эдакий навороченный прогрессбар.
...
Рейтинг: 0 / 0
Несколько потоков и работа с БД
    #38853423
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) Всё , что вызывается в Execute треда, выполняется в контексте этого треда, независимо от того, какому классу принадлежит вызываемый метод. Отсюда вывод: чтобы себя не путать, делать треды самодостаточными, а общение с внешним миром делать через Post(Thread)Message либо Synchronize (но не злоупотреблять).

2) На каждый тред - свой набор компонентов Database/Transaction/Query

либо пересмотреть архитектуру - мне почему-то кажется, что длительная операция вообще не связана с БД, а значит, тред может вообще не знать о БД, ему главное скормить исходные данные и получить результат
...
Рейтинг: 0 / 0
Несколько потоков и работа с БД
    #38853518
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutalмне почему-то кажется, что длительная операция вообще не связана с БД

А я практически уверен, что эта операция такая длительная исключительно потому, что ею
используется TDataSet, да ещё и привязанный к TDBGrid-у.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
4 сообщений из 29, страница 2 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Несколько потоков и работа с БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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