|
|
|
Несколько потоков и работа с БД
|
|||
|---|---|---|---|
|
#18+
Konstantin-78DarkMasterKonstantin-78, Зачем тебе вообще еще один поток? Чего ты хочешь добиться-то? Поток нужен мне для того, чтоб приложение не висло, когда обрабатываются данные, а если еще и в цикле, то вообще на часы Гм... Либо я не понимаю, как твоя мысль по древу течет, либо одно из двух ;) Общий подход должен быть примерно таким: - Рисуем общий гуй, в котором пользователь жмакает разные кнопочки - По нажатию на магическую кнопочку создаем поток (с отдельным соединением), в котором крутим свой долгий процесс расчетов - По завершению процесса (не в середине!), перед убиением потока - тупо шлем сообщение главному окну - "обновись, да?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 17:08 |
|
||
|
Несколько потоков и работа с БД
|
|||
|---|---|---|---|
|
#18+
DarkMaster- По завершению процесса (не в середине!), перед убиением потока - тупо шлем сообщение главному окну - "обновись, да?"Насколько понял я, некий расчет делается по строкам в гриде, на каждую строку идет длительное время, после обсчета строки в отдельном треде делается коммит и после этого рефрешится означенная строка. Эдакий навороченный прогрессбар. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2015, 18:20 |
|
||
|
Несколько потоков и работа с БД
|
|||
|---|---|---|---|
|
#18+
1) Всё , что вызывается в Execute треда, выполняется в контексте этого треда, независимо от того, какому классу принадлежит вызываемый метод. Отсюда вывод: чтобы себя не путать, делать треды самодостаточными, а общение с внешним миром делать через Post(Thread)Message либо Synchronize (но не злоупотреблять). 2) На каждый тред - свой набор компонентов Database/Transaction/Query либо пересмотреть архитектуру - мне почему-то кажется, что длительная операция вообще не связана с БД, а значит, тред может вообще не знать о БД, ему главное скормить исходные данные и получить результат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 17:19 |
|
||
|
Несколько потоков и работа с БД
|
|||
|---|---|---|---|
|
#18+
Fr0sT-Brutalмне почему-то кажется, что длительная операция вообще не связана с БД А я практически уверен, что эта операция такая длительная исключительно потому, что ею используется TDataSet, да ещё и привязанный к TDBGrid-у. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2015, 18:14 |
|
||
|
|

start [/forum/topic.php?fid=40&gotonew=1&tid=1563095]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
73ms |
get topic data: |
9ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 389ms |

| 0 / 0 |
