Описание тега omnithreadlibrary
OmniThreadLibrary - это библиотека Delphi, предназначенная для облегчения многопоточности.
1
ответ
Какую абстракцию использовать для драйвера ASynchronous Dat a Collection
Я хотел бы реализовать механизм в моем серверном приложении, но я не уверен, какая абстракция OTL будет наиболее подходящей. Мое приложение собирает данные о различных типах оборудования. Некоторые из них используют синхронную связь, таким образом г…
09 авг '17 в 10:18
1
ответ
Как использовать шаблон конвейера в Delphi
Я пытаюсь реализовать шаблон конвейера в моем тестовом проекте ( Как сделать вызовы Mutlithreded idhttp для работы с StringList), но мне не удается адаптировать TThread код для кода шаблона конвейера. Существует не так много ресурсов о том, как его …
25 авг '16 в 19:25
0
ответов
Утечки памяти в параллели OmniThreadLibrary.ForEach
Я использую OmniThreadLibrary, Имеет параллельный метод ForEach, Я работаю в высоконагруженной системе, и мне нужно обрабатывать некоторые массивы параллельно. Но я получаю утечку памяти. Вот образец: procedure TForm7.FormCreate(Sender: TObject); va…
16 дек '15 в 04:29
1
ответ
Поддерживает ли OmnithreadLibrary "кражу работы"?
Кража работ, например, доступна в среде Fork / Join на платформе Java. (См. Чем инфраструктура fork/join лучше, чем пул потоков?) - возможно ли нечто подобное с OmniThreadLibrary? Воровство работы: рабочие потоки, у которых заканчиваются дела, могут…
06 июл '12 в 16:51
1
ответ
Отменить запланированное задание
У меня есть приложение Windows Delphi, которое получает события, при каждом из которых я хотел бы запустить задачу параллельно (чтобы я мог быть готов к следующему событию). Есть много способов сделать это с помощью всевозможных абстракций библиотек…
16 фев '15 в 16:24
2
ответа
Обзор OmniThreadLibrary
Есть ли место, где есть вводный обзор OmniThreadLibray для Delphi? У меня есть текущий код, установленный в Delphi XE. Примеры работают. Я просматривал связанный блог The Delphi Geek с примерами использования. gabr признает, что документации не суще…
13 июл '11 в 13:32
2
ответа
Есть ли менее ресурсоемкая альтернатива для TOmniMREW?
Мне нужна тонкая блокировка однократной многозаписной записи, похожая на TOmniMREW, но она будет менее ресурсоемкой в случае конфликта. TOmniREW использует только спин-блокировку, поэтому потоки будут стремительно расти до 100% загрузки ЦП, пока н…
19 ноя '13 в 11:58
1
ответ
Получить результат функции асинхронно в Delphi, используя Omni Thread Library
Я пытаюсь вызвать функцию из другого модуля / класса, которая займет некоторое время при выполнении задачи и вернет строковое значение. Я не смог найти хорошую ссылку на что-то похожее на C# async-await, как простой подход в Delphi. Использование би…
05 сен '15 в 17:57
1
ответ
Обработка исключений с IOmniParallelTask не работает
Необработанные исключения внутри IOmniParallelTask выполнение (как я понимаю документы) должно быть отслежено OTL и присоединено к IOmniTaskControl экземпляр, к которому может получить доступ termination handler от IOmniTaskConfig, Так что после нас…
12 дек '15 в 23:49
2
ответа
Как я могу захватывать переменные анонимным методом при использовании его в OTL?
Что я хочу сделать: У меня есть несколько объектов в списке родов. Я хочу захватить каждый из этих объектов в анонимном методе и выполнить этот метод как отдельную задачу OTL. Это упрощенный пример: program Project51; {$APPTYPE CONSOLE} uses SysUtil…
12 ноя '12 в 18:01
0
ответов
Ошибка компиляции Omni Thread Lib в Delphi 10.2 Tokyo Win 64 bit
Я пытаюсь установить Omni Thread Lib в моем Delphi 10.2 Tokyo, у меня Windows 64bit я получаю это сообщение, когда пытаюсь скомпилировать пакет Design Time..[dcc32 Fatal Error] OmniThreadLibraryRuntime.dpk(58): F2048 Bad unit format: '..\..\src\GpLi…
28 апр '18 в 17:23
0
ответов
Как вызвать TIdHTTP.Disconnect при запуске в задаче OmniThreadLibrary
Мне интересно, как я могу отключить экземпляр TIdHTTP в Delphi Seattle, пока он выполняется в анонимной процедуре CreateTask из OmniThreadLibrary. Мой текущий код выглядит так: task := CreateTask( procedure(const task: IOmniTask) var http: TIdHTTP; …
14 июн '16 в 19:59
0
ответов
Какая абстракция высокого уровня OTL лучше всего подходит для параллельной загрузки изображений?
Я хотел бы раскрыть вам мою проблему здесь. Я пытаюсь создать пользовательский интерфейс в одном из моих приложений, где пользователь может видеть несколько изображений (объектов TImage) в одной форме. Эти изображения должны быть загружены из потенц…
05 янв '17 в 14:30
1
ответ
Проблемы с получением данных JSON из DLL с использованием SuperObject и OmniThreadLibrary
Я использую Delphi XE, у меня есть следующий код для моей программы и DLL: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, superobject, OtlCommon, OtlCollections, OtlParallel; …
09 апр '15 в 12:43
1
ответ
Ожидание завершения Invoke при использовании IOmniTaskControl/TOmniWorker
Я создал IOmniTaskControl с помощью TOmniWorker, чтобы я мог периодически запускать куски кода в определенном потоке. Поэтому я буду вызывать Invoke по мере необходимости на этом IOmniTaskControl. Когда я это сделаю, мне иногда придется ждать заверш…
16 мар '16 в 22:08
1
ответ
Портирование многопоточного приложения Delphi на Mac: какие у меня есть выбор?
Мне нужно портировать приложение (написанное на XE2) на Mac. Мое приложение разбито на простое UI executable (однопоточный) и невидимый engine (который сильно зависит от OmniThreadLibrary 3.02 и Cromis DirectoryWatch ) Оба EXE- файла общаются черезC…
13 янв '13 в 12:07
4
ответа
OmniThreadLibrary - код: 1816. Недостаточно квоты для обработки этой команды
Обновление 1: я включил следы стека всех потоков, а не только основных потоков - я думал, что этого уже достаточно. Обновление 2: я снова открыл этот вопрос, поскольку даже после применения изменений, показанных в моем собственном вопросе, я все еще…
03 авг '14 в 10:05
0
ответов
Используете DataSet, возвращенный datasnap ServerMethod в потоке?
Я вызываю серверный метод изнутри потока, используя Omnithreadlibrary, данные возвращаются успешно, но у меня возникают проблемы с использованием возвращаемых данных, все, что я пробовал, связано с AccessViolation или даже сбоем приложения, пытался …
18 ноя '11 в 16:05
1
ответ
Как обновить индикатор прогресса из второго потока?
У меня есть основная форма с индикатором прогресса. В модуле данных у меня есть десять наборов данных, для каждого из них определено событие OnBeforeOpen. Я хотел бы показать через индикатор выполнения в основной форме процент прогресса открытых наб…
03 апр '13 в 08:54
1
ответ
Зачем мне нужен Sharemem в моей DLL Delphi, которая предоставляет только функцию с параметрами WideString?
У меня есть DLL и тестовое приложение, написанное на Delphi. Тестовое приложение использует несколько потоков для вызова функции, экспортируемой dll. Экспортируемая функция имеет тривиальную поточно-ориентированную реализацию. При запуске тестового …
19 мар '18 в 08:47