Здравствуйте, Oleg A. Bachin, Вы писали:
OAB>Здравствуйте, mkopachev, Вы писали:
M>> Для ВСЕХ переменных и не предлагается. Только для тех, которые могут изменяться и считываться разными потоками. Например, локальные переменные функций однозначно не могут быть использованы разными потоками, так как находятся в разных стеках.
M>> Если переменная может изменяться одним потоком, а считываться другим, то это необходимомо.
OAB>это называется конкурентный доступ и скорее всего реализованно. в делфях при работе с потоками основные проблеммы связанны с VCL и базами. там с многопоточностью напряг.
как раз-таки в базах — кадая транзакция в своем потоке и никаких проблем
наверное имеется в виду TDataSet который TDataSource — ам шлет сообщения синхронно ? или что ?
Здравствуйте, s.ts, Вы писали:
ST>Здравствуйте, Oleg A. Bachin, Вы писали:
OAB>>Здравствуйте, mkopachev, Вы писали:
M>>> Для ВСЕХ переменных и не предлагается. Только для тех, которые могут изменяться и считываться разными потоками. Например, локальные переменные функций однозначно не могут быть использованы разными потоками, так как находятся в разных стеках.
M>>> Если переменная может изменяться одним потоком, а считываться другим, то это необходимомо.
OAB>>это называется конкурентный доступ и скорее всего реализованно. в делфях при работе с потоками основные проблеммы связанны с VCL и базами. там с многопоточностью напряг.
ST>как раз-таки в базах — кадая транзакция в своем потоке и никаких проблем
ST>наверное имеется в виду TDataSet который TDataSource — ам шлет сообщения синхронно ? или что ?
сорьки что с запозданием — отпуск был...
имелся ввиду BDE. вопрос даже не стоя в Hyperthreading, просто на мультипроцессорных тачках имеются проблемы.
рекомендации борланда по решению проблем — "переходите на ADO", меня тогда больше ODBC устроил.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Здравствуйте, Oleg A. Bachin, Вы писали:
OAB>Здравствуйте, s.ts, Вы писали:
ST>>Здравствуйте, Oleg A. Bachin, Вы писали:
OAB>>>Здравствуйте, mkopachev, Вы писали:
M>>>> Для ВСЕХ переменных и не предлагается. Только для тех, которые могут изменяться и считываться разными потоками. Например, локальные переменные функций однозначно не могут быть использованы разными потоками, так как находятся в разных стеках.
M>>>> Если переменная может изменяться одним потоком, а считываться другим, то это необходимомо.
OAB>>>это называется конкурентный доступ и скорее всего реализованно. в делфях при работе с потоками основные проблеммы связанны с VCL и базами. там с многопоточностью напряг.
ST>>как раз-таки в базах — кадая транзакция в своем потоке и никаких проблем
ST>>наверное имеется в виду TDataSet который TDataSource — ам шлет сообщения синхронно ? или что ?
OAB>сорьки что с запозданием — отпуск был...
OAB>имелся ввиду BDE. вопрос даже не стоя в Hyperthreading, просто на мультипроцессорных тачках имеются проблемы.
OAB>рекомендации борланда по решению проблем — "переходите на ADO", меня тогда больше ODBC устроил.
Хм, для локализации проблемы советую отключить один "процессор" для всего приложения.
SetProcessAffinityMask (GetCurrentProcess, 1)
Если заработает, то проблема именно с HyperThreading...