• alvltss © (29.09.17 13:32) [0]
    Господа, подскажите кто может!
    Изучаю мнопоточность. Вынес в отдельный поток работу с базами ACCESS через ADO. Почему то все равно наблюдается периодическая «заморозка» главной формы.
    С визуальными компонентами поток напрямую не взаимодействует.
    В чем может быть проблема? В ADO ? Существуют ли какие- нибудь особые требования к описанию и использованию процедур и функций, которые используют отдельные потоки ?
  • rrrrrrr © (29.09.17 14:06) [1]
    Почему то все равно наблюдается периодическая «заморозка» главной формы.
    В чем может быть проблема? В ADO ?

    в том, что никуда ты ничего не вынес, а делаешь все в главном.
  • alvltss © (29.09.17 15:01) [2]
    т.е. процедура потока должна быть в отдельном модуле? А используемые процедуры должны быть в том же модуле или могут быть в отдельном?
  • rrrrrrr © (29.09.17 15:08) [3]
    модули здесь вообще не при делах.

    может быт один модуль и в нем сто потоков накодено.
    а может быть стопитсот модулей и всего один поток.
  • alvltss © (29.09.17 15:18) [4]
    а как нужно выносить?
  • rrrrrrr © (29.09.17 15:21) [5]
    нужно по другому. не как у тебя.
  • sniknik © (29.09.17 21:32) [6]
    > В ADO ?
    в нем потоки называются асинхронными запросами, их не следует выносить еще куда то.

    > Существуют ли какие- нибудь особые требования
    да. в любом деле есть особое требование - почитать справку конкретно по теме.
  • alvltss © (01.10.17 08:39) [7]
    1. Поток более - менее нормально вынесен. Во всяком случае, если в него вставить тупой бесконечный цикл, то форма не замораживается.
    2. На другом компе заморозки практически не замечаются. Сильно заметно было на ноуте.
    3. Заморозка почему-то сильно наблюдается при выполнении WNetAddConnection2.

    sniknik,  я так понял что ADO тормозить не должен ?
  • alvltss © (01.10.17 10:08) [8]
    На ноуте может тормозить заметнее, поскольку запросы идут к удаленной базе через точку доступа на телефоне через сотового оператора. Надо будет уточнить это момент.
  • sniknik © (01.10.17 18:37) [9]
    > я так понял что ADO тормозить не должен ?
    с чего, это ты понял? тебе говорят, что не следует перебегать дорогу на красный, тем более подземный переход есть... в ответ "значит я правильно над переходом перебегаю, машина не собьет".
    ???

    > 1. Поток более - менее нормально вынесен.
    это только твои слова. не более.

    > Во всяком случае, если в него вставить тупой бесконечный цикл, то форма не замораживается.
    а это тупая проверка,
    сравнивать сложный объект со своими связями/потоками/блокировками, разнесенный как предполагаю на разные потоки/либо с тупой синхронизацией (раз блокирует) с простым циклом целиком в одном потоке.
  • alvltss © (01.10.17 21:38) [10]
    Пока что работает только один поток кроме главной формы. Работает с базами. Делает выборку и запись в таблицы. Не понятно с чем вообще может блокироваться .

    > я так понял что ADO тормозить не должен ?
    с чего, это ты понял? тебе говорят, что не следует перебегать дорогу на красный, тем более подземный переход есть... в ответ "значит я правильно над переходом перебегаю, машина не собьет".
    ???

    Не понятно что предлагается в качестве "подземного перехода"....
  • sniknik © (01.10.17 22:19) [11]
    > Не понятно что предлагается в качестве "подземного перехода"....
    придется повторить...
    >> В ADO ?
    > в нем потоки называются асинхронными запросами, их не следует выносить еще куда то.
  • alvltss © (02.10.17 09:12) [12]
    А что можно использовать вместо ADO для работы с ACCESS например в отдельных потоках?
  • ухты © (02.10.17 09:53) [13]
    эта пестня хороша, начинай сначала

    вы хоть в поисковик слова вбили и почитали про что тут пишут
  • sniknik © (02.10.17 09:58) [14]
    ado и можно, в синхронном режиме, и полностью все определенное/созданное в отдельном потоке.

    хотя, можно еще и dao, но он устарел еще больше чем jet. и да это независимо от потоков, просто - можно еще использовать. а то подозреваю у тебя сейчас представление, что для потоков нужно что-то особое, а не реальное, что ты работая с ним просто накосячил.
  • stas © (04.10.17 11:53) [15]
    alvltss ©   (29.09.17 13:32)
    Покажи код
Есть новые Нет новых   [118639   +35][b:0][p:0.001]