|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.11.2012, 22:50 | #1 |
Пользователь
Регистрация: 10.12.2011
Сообщений: 26
|
Не дать накапливаться N кол-ву потоков в критической секции. Массив.
Доброго времени суток.
Ввожу в курс дела. Есть код. В нем создан класс потока, в самом потоке происходят GET запросы(последовательно) и получают некую информацию, каждый новый поток запускается по таймеру, каждую секунду(например), и чтобы действия в потоке успевали выполняться полностью, не пересекаясь, я добавил критическую секцию, чтобы они вставали в очередь. Если поставить таймер поменьше, то потоки начинают накапливаться! Как не дать накапливаться N кол-ву потоков в критической секции? Мне умный человек сказал - Это одномерный массив "thread:array [1..n] of longint;" - мне вот нужно ограничиться 5 потоками в очереди - thread:array [1..5] of longint; Типо укажи размер массива. Что-то я не понял как это реализовать? |
14.11.2012, 22:56 | #2 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
Тебе нужна не критическая секция а семафор.
или если мыслить более масштабно - сущность под названием "пул потоков" про первое можно почитать у Рихтера, про второе - у гоогле.
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
14.11.2012, 23:23 | #3 | |
Пользователь
Регистрация: 10.12.2011
Сообщений: 26
|
Цитата:
Вот мои куски из кода. Напишите плиз в исправленном виде. Код:
|
|
14.11.2012, 23:38 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Стесняюсь спросить, а почему по таймеру?
Что за задача? Потоки для чего нужны?
I'm learning to live...
|
15.11.2012, 00:22 | #5 |
Пользователь
Регистрация: 10.12.2011
Сообщений: 26
|
|
15.11.2012, 00:32 | #6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Та ради бога, зачем в таймере кучу потоков создавать?
Создай один поток и порядок. Зачем несколько потоков для парсинга?
I'm learning to live...
|
15.11.2012, 00:36 | #7 |
Пользователь
Регистрация: 10.12.2011
Сообщений: 26
|
|
15.11.2012, 01:02 | #8 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну да. Чтоб проц не грузило, не можно а нужно
I'm learning to live...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задачи на обработку строк: удалить каждую 3-ю букву, найти кол-во гласных, кол-во цифр в строке,совпадения в 2-х строках | Ирина93 | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 05.11.2011 22:10 |
Добавить в массив требуемое кол-во элементов, потом создать в ComboBox | Casper-SC | Общие вопросы .NET | 3 | 24.02.2010 20:05 |
двумерный динамический массив с запросом к пользователю о кол-ве строк и столбцов? | vasyapupkin | Общие вопросы C/C++ | 2 | 22.11.2009 17:37 |
Найти кол-во целых чисел в первой последовательности и кол-во нечетных во второй. | DjDeniels-61 | Помощь студентам | 7 | 28.06.2009 13:04 |
кол. массив | alexov | Общие вопросы C/C++ | 3 | 03.02.2009 16:56 |