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