Цитата:
Сообщение от
lagr221374
Можно на эту тему поподробнее если не затруднит + код
Лехко
Изначально задача формулировалась примерно так "Допустим, у нас есть достаточно 'тяжелая' сессия, которая на многопроцессорном сервере приложений интенсивно использует один процессор, но не использует остальные. Это в принципе возможно?" Так вот "в принципе" ответ будет "да, если..". Если мы можем разбить нашу задачу на несколько мелких задач, разбросать их по нескольким потокам в принципе несложно. Я не стал использовать Thread (был когда-то нехороший опыт), а взял AOSLoadGen, благо к нему претензий по стабильности работы не было
В итоге получился, как я уже говорил, сферичейский конь в вакууме:
- обходя план счетов (LedgerTable), по каждому счету запускаем отдельный поток, обегающий проводки по счету (LedgerTrans)
Разумеется, сам алгоритм практической ценности не имеет, он нужен только для демонстрации
Дальше появляются вопросы
- как узнать о том, что созданный нами поток завершил свою работу?
- как вернуть из него результаты в основной (родительский) поток?
- как вообще организовать синхронизацию этих потоков?
Пока нормального решения, которое действительно можно было использовать, я не нашел. Я точно не хочу использовать для обмена сообщениями таблицы, я не уверен, что хочу использовать глобальные переменные. Если у кого-то есть идеи, с радостью их выслушаю