code_28834.txt
В чём дело, почему она вылетает при старте? Вроде всё сделал нормально, поидеи она должна, сканировать, после того как ошибка или найден порт удалять лишнии контейнеры, чтобы незасорять помять или я, что-то нетак делаю?
Этот топик читают: Гость
Ответов: 313
Рейтинг: -9
|
|||
карма: 0 |
| ||
файлы: 1 | code_28834.txt [2.8KB] [115] |
Разработчик
Ответов: 26306
Рейтинг: 2146
|
|||
mrvitya писал(а): после того как ошибка или найден порт удалять лишнии контейнерыНельзя удалять контейнер из одной цепочки событий. Надо ставить таймер или компонент DeferredEvent |
|||
карма: 22 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2025-01-11 08:28:13 |
|||
карма: 0 |
|
Разработчик
Ответов: 26306
Рейтинг: 2146
|
|||
г. mrvitya Хз что с автор писал(а): Можешь пример исправить?Там какая-то проблема с внутренними потоками, они приводят к ошибке, надо пересматривать весь алгоритм |
|||
карма: 22 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2025-01-11 08:28:13 |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
mrvitya,
![]() Блин, картинка не выкладывается. ![]() Первых два Edit-а + For +Hub |
|||
карма: 25 |
| ||
файлы: 1 | logic.png [1.6KB] [254] |
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2025-01-11 08:28:14 |
|||
карма: 0 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2025-01-11 08:28:14 |
|||
карма: 0 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 2 раз(а), последний 2025-01-11 08:28:15 |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
90.151.99.164, человек не читает описания к точкам и уже давно.
![]() |
|||
карма: 25 |
|
Ответов: 313
Рейтинг: -9
|
|||
90.151.99.164, Как что удаление первого контейнера, если второй контейнер выдаст либо ошибку либо результат то второй должен удаляться...
|
|||
карма: 0 |
|
Разработчик
Ответов: 26306
Рейтинг: 2146
|
|||
Я кажется понял, почему эта схема не работает -- создается слишком много потоков одновременно. Надо пересмотреть алгоритм так, чтобы можно было создавать группы опроса, а после прохождения группы, всю ее целиком удалять и создавать следующую
|
|||
карма: 22 |
|
Ответов: 313
Рейтинг: -9
|
|||
nesco, Я об этом тоже думал, из-за чего она вылетает, ну вот я пробывал вставить таймер вместо потока и вообще, неработало, почему незнаю...
|
|||
карма: 0 |
|
Разработчик
Ответов: 26306
Рейтинг: 2146
|
|||
mrvitya писал(а): почему незнаю...Потому, что таймер синхронизирован с потоком приложения, а системные потоки работают в кольце ядра системы. Делай опрос группами по 10...20 потоков максимум, за один раз больше не создавай, и не забудь их всех отсановить перед групповым удалением через таймер (метод ##clear у контейнера) |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
1. 32-разрядная Винда под каждую запущенную программу(процесс) выделяет 2 Гб памяти.(если они есть) 2. Количество потоков, создаваемых одним процессом ограничено адресным пространством этого процесса ( 2 Гб ). 3. Каждый поток имеет свой стек ( VC по умолчанию делает его равным 1Мб ). 4. Получается, что процесс сможет создать примерно 2000 потоков со стеком в 1Мб. На самом деле около 1200 У меня твоя схема на 1239 потоке затыкается. |
|||
карма: 25 |
|