|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
||||||
Добавить многопоточность16.06.2015, 13:20. Показов 5879. Ответов 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 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|