|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
||||||
Добавить многопоточность16.06.2015, 13:20. Показов 5758. Ответов 82
Метки нет (Все метки)
Доброго времени суток! Собрал кое-какой проект (VS 2008, для работы под windows), хочу добавить туда многопоточность, написал кое-что для теста, главный поток отрабатывает нормально:
error C2065: 'IP' : undeclared identifier error C2228: left of '.eof' must have class/struct/union Подозреваю, что не правильно передаю массив строк IP и не могу сообразить, как передать его внутрь потоковой функции, уважаемые, подскажите, как это должно выглядеть?
0
|
||||||
| 16.06.2015, 13:20 | |
|
Ответы с готовыми решениями:
82
C++ Многопоточность Многопоточность Многопоточность |
|
|
||
| 21.06.2015, 13:57 | ||
|
Ты присваиваешь элементу вектора (string) строку, которая находится в ip. ip после этого никак не меняется.
Зачем ты лезешь в многопоточность и клиент-серверные приложения если не знаешь как работает элементарная операция присваивания? Не обижайся, но мне надоело объяснять тебе все эти элементарные основы. Добавлено через 38 секунд
0
|
||
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
||||||
| 21.06.2015, 14:32 [ТС] | ||||||
|
castaway, именно, я не верно расположил сперва, так работает
Кликните здесь для просмотра всего текста
0
|
||||||
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
||||||
| 22.06.2015, 00:27 [ТС] | ||||||
|
castaway, в 1 поток работает, если больше одного - вылетает после вывода всех элементов, если больше 100 - вылет на старте
0
|
||||||
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
|
| 22.06.2015, 09:47 [ТС] | |
|
castaway, 15 символов
0
|
|
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
|
| 22.06.2015, 10:33 [ТС] | |
|
castaway, я пробовал больше, тоже самое
0
|
|
|
|
||
| 22.06.2015, 10:44 | ||
|
Ок. Сейчас посмотрю что там еще.. Добавлено через 7 минут Убери из структуры элемент ips_count, у вектора есть метод size(), который возвращает его размер. Получится что структура тебе не нужна вовсе, просто передавай в поток указатель на вектор. Поправь и покажи код, так будет проще разобраться.
0
|
||
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
||||||
| 22.06.2015, 11:16 [ТС] | ||||||
|
castaway,
0
|
||||||
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
|
| 22.06.2015, 11:33 [ТС] | |
|
castaway, ну да, проверяю код перед постом
0
|
|
|
|
||||||
| 22.06.2015, 12:13 | ||||||
|
Тебе необходимо проверять количество оставшихся адресов, перед входом в цикл внутри потока.
Что-то типа:
1
|
||||||
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
|||||||||||
| 22.06.2015, 12:28 [ТС] | |||||||||||
|
castaway, это решило проблему вылета в конце вывода всех элементов, по-прежнему вылетает в сотню потоков
Добавлено через 7 минут сейчас сделал
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
||||||
| 22.06.2015, 12:36 [ТС] | ||||||
|
castaway, убрал, подправил
0
|
||||||
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
||||||
| 22.06.2015, 12:46 [ТС] | ||||||
|
castaway, вон оно что, проблема не хочет меня покидать (
Кликните здесь для просмотра всего текста
0
|
||||||
|
|
|
| 22.06.2015, 12:56 | |
|
Трудно сказать в чём проблема, но у меня есть предположение что это из-за if (end) вне критической секции.. Но и в критическую секцию её помещать нельзя.
Честно говоря, мне не нравится логика твоей программы, а именно то, что потоков может быть больше чем IP адресов. Предлагаю пересмотреть концепцию, и не создавать потоков больше, чем IP адресов.
0
|
|
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
|
| 22.06.2015, 13:05 [ТС] | |
|
castaway, кол-во строк в файле не будет превышать кол-во потоков и не превышало, их я туда ложу вручную, но даже если и случиться, что потоков будет больше чем строк, то к тому времени уже реализую закомментированную строку, переделать придётся конечно немног //if ( THREADS_NUMBER > ips.size() ) THREADS_NUMBER = ips.size();
Мне не даёт покоя то, что пока работает Sleep, то всё работает, как начинается работа WaitForMultipleObjects, так вылетает, может их надо как-то по-другому ждать?
0
|
|
| 22.06.2015, 13:05 | |
|
Многопоточность Многопоточность многопоточность в Qt многопоточность Многопоточность Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|