Вверх ↑
Этот топик читают: Гость
Ответов: 313
Рейтинг: -9
#1: 2012-08-21 23:34:44 ЛС | профиль | цитата
code_28834.txt
В чём дело, почему она вылетает при старте? Вроде всё сделал нормально, поидеи она должна, сканировать, после того как ошибка или найден порт удалять лишнии контейнеры, чтобы незасорять помять или я, что-то нетак делаю?
карма: 0

0
файлы: 1code_28834.txt [2.8KB] [115]
Разработчик
Ответов: 26306
Рейтинг: 2146
#2: 2012-08-22 00:52:57 ЛС | профиль | цитата
mrvitya писал(а):
после того как ошибка или найден порт удалять лишнии контейнеры

Нельзя удалять контейнер из одной цепочки событий. Надо ставить таймер или компонент DeferredEvent
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#3: 2012-08-22 10:50:24 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-11 08:28:13
карма: 0

0
Разработчик
Ответов: 26306
Рейтинг: 2146
#4: 2012-08-22 16:39:23 ЛС | профиль | цитата
г. mrvitya Хз что с автор писал(а):
Можешь пример исправить?

Там какая-то проблема с внутренними потоками, они приводят к ошибке, надо пересматривать весь алгоритм
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#5: 2012-08-22 17:00:03 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-11 08:28:13
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#6: 2012-08-22 17:02:35 ЛС | профиль | цитата
mrvitya,
logic.png
логику поясни. ------------ Дoбавленo в 17.02:
Блин, картинка не выкладывается.
Первых два Edit-а + For +Hub
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1logic.png [1.6KB] [254]
Гость
Ответов: 17029
Рейтинг: 0
#7: 2012-08-22 17:32:42 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-11 08:28:14
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#8: 2012-08-22 17:43:05 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-11 08:28:14
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#9: 2012-08-22 17:45:04 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-11 08:28:15
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#10: 2012-08-22 17:51:55 ЛС | профиль | цитата
90.151.99.164, человек не читает описания к точкам и уже давно.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 313
Рейтинг: -9
#11: 2012-08-23 13:17:10 ЛС | профиль | цитата
90.151.99.164, Как что удаление первого контейнера, если второй контейнер выдаст либо ошибку либо результат то второй должен удаляться...
карма: 0

0
Разработчик
Ответов: 26306
Рейтинг: 2146
#12: 2012-08-23 17:19:37 ЛС | профиль | цитата
Я кажется понял, почему эта схема не работает -- создается слишком много потоков одновременно. Надо пересмотреть алгоритм так, чтобы можно было создавать группы опроса, а после прохождения группы, всю ее целиком удалять и создавать следующую
карма: 22

0
Ответов: 313
Рейтинг: -9
#13: 2012-08-23 17:31:27 ЛС | профиль | цитата
nesco, Я об этом тоже думал, из-за чего она вылетает, ну вот я пробывал вставить таймер вместо потока и вообще, неработало, почему незнаю...
карма: 0

0
Разработчик
Ответов: 26306
Рейтинг: 2146
#14: 2012-08-23 17:41:16 ЛС | профиль | цитата
mrvitya писал(а):
почему незнаю...

Потому, что таймер синхронизирован с потоком приложения, а системные потоки работают в кольце ядра системы.
Делай опрос группами по 10...20 потоков максимум, за один раз больше не создавай, и не забудь их всех отсановить перед групповым удалением через таймер (метод ##clear у контейнера)
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#15: 2012-08-23 17:44:10 ЛС | профиль | цитата
1. 32-разрядная Винда под каждую запущенную программу(процесс) выделяет 2 Гб памяти.(если они есть)
2. Количество потоков, создаваемых одним процессом ограничено адресным пространством этого процесса ( 2 Гб ).
3. Каждый поток имеет свой стек ( VC по умолчанию делает его равным 1Мб ).
4. Получается, что процесс сможет создать примерно 2000 потоков со стеком в 1Мб. На самом деле около 1200

У меня твоя схема на 1239 потоке затыкается.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)