![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| forSale |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 20.4.2014 Репутация: нет Всего: нет |
Есть код:
Есть биллинговый проект. Он рабочий. Появилась необходимость создать веб-сервис для предоставления суммы к оплате за газ в ответ на запрос с передачей лицевого счета и текущего показания счетчика. Чтобы не изобретать велосипед, было решено взять готовый модуль проекта, отвечающий за расчеты и создать на его основе DLL для веб-сервера. Проведено тестирование сервиса: поочередно серверу передаются заранее заготовленные лицевые счета и показания, ответ выводится в МЕМО на клиенте. Это работает нормально, когда только один клиент обращается. Программа клиента была скопирована и запущена параллельно. Таким образом два клиента одновременно работают. У них 2 разных списка с лицевыми и показаниями. Обе программы работают какое-то время, потом появляется ошибка: List index out of bounds(). Порывшись в интернете обнаружил, что IIS работает в несколько потоков. А это чревато при работе с TList, который не потокобезопасен. При попытке перейти на TThreadList наткнулся на такую проблему: список на основе TList объявляется как: var переменная: TList<какой-то класс>; такая конструкция по-видимому TThreadList не поддерживается. Долго не заморочиваясь, решил создавать потоки прямо внутри удаленно вызываемой функции GetBill. Но тут наткнулся на проблему синхронизации. Бывает так, что запросы к серверу поступают одновременно и результат второго по очереди запроса попадает к первому. Не удается организовать работу потоков. Что-то я делаю не так, возможно вообще в корне неверное, но не пойму как по-другому работать с потоками. |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
ну так почитайте как правильно работать с многопоточностью в дельфи
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| forSale |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 20.4.2014 Репутация: нет Всего: нет |
||||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 13 Всего: 146 |
нет , не легче...
легче один раз самому разобраться , чем потом каждый раз спрашивать -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |