|
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++ Многопоточность Многопоточность Многопоточность |
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
||||||
| 18.06.2015, 23:38 [ТС] | ||||||
|
да, я в курсе, там по-проще завёрнуто, к тому же многие сетуют, что лучше вообще не юзать CreateThread под windows, а лучше брать _beginthreadex, но хочется добить уже API метод
Добавлено через 7 часов 44 минуты castaway, пока что не совсем понял как передать весь массив, с утречка ещё помучаюсь, ещё такой вопрос,
0
|
||||||
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
||||||
| 19.06.2015, 18:17 [ТС] | ||||||
|
castaway, Если я правильно понял, ошибки возникали из-за обращения потоков к массиву строк через fstream, набросал кое-что, думаю ход мысли ясен, так и не понял как передать в функцию потока указатель на массив ips, всё необходимое закомментировал, нужно дать потокам массив ips, чтобы они дёргали строки оттуда, потоков планирую 100-2000 для парсинга.
0
|
||||||
|
|
||||||
| 19.06.2015, 18:41 | ||||||
1
|
||||||
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
||||||
| 19.06.2015, 18:58 [ТС] | ||||||
|
castaway, нужно в поток передать указатель на массив, массив должен быть единым для всех потоков в дальнейшем, а тут массивом является вектор ips же в данном случае? хотя, может я не понял сути вектора. А если ты про
0
|
||||||
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
|
| 19.06.2015, 19:05 [ТС] | |
|
Но тут я тоже не уверен, может придётся делать как ты предлагал прошлый раз, через for ( ; ; ) если кончился массив, то выходить из цикла
0
|
|
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
||||||
| 21.06.2015, 00:11 [ТС] | ||||||
|
castaway, Напилил кое-какого кода, само собой - не рабочего для наглядности
(int a, size_t ips_count + указатель на ips), есть ещё подозрение, что можно обойтись без передачи размера массива и счетчика переданных строк лишь передачей указателя на ips и вместо бесконечного for сделать что-то типа while ( ! *ips.end() ) потоки должны брать с единого массива строки поочередно.
0
|
||||||
|
|
||||||||||||
| 21.06.2015, 07:53 | ||||||||||||
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
||||||
| 21.06.2015, 10:44 [ТС] | ||||||
|
castaway, собрал
0
|
||||||
|
|
||||||||
| 21.06.2015, 11:09 | ||||||||
0
|
||||||||
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
||||||||
| 21.06.2015, 11:54 [ТС] | ||||||||
0
|
||||||||
|
|
||||||||
| 21.06.2015, 12:20 | ||||||||
1
|
||||||||
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
|||||||||||
| 21.06.2015, 12:39 [ТС] | |||||||||||
|
castaway,
Кликните здесь для просмотра всего текста
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
|
| 21.06.2015, 13:08 [ТС] | |
|
castaway, меняю на твою строку, та же ошибка(
0
|
|
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
|
| 21.06.2015, 13:38 [ТС] | |
|
castaway, выводит пустые строки, кол-во пустых строк соответствует кол-ву строк в файле, тоже самое наблюдал, когда делал тест в 1 поток с передачей всего массива без указателя
0
|
|
|
0 / 0 / 0
Регистрация: 15.06.2015
Сообщений: 42
|
|
| 21.06.2015, 13:56 [ТС] | |
|
castaway, я пробовал его объявлять как string ip, получается, что в строке(*p_ms->ips)[a] = ip;
слева и справа от "=" переменные одного типа string и происходит присваивание переменной ip очередной строки массива ips или я ошибаюсь? Если всё верно, не могу понять что ещё нужно заполнить... Добавлено через 6 минут мой косяк, сделал ip как string и заработало, не правильно присваивал
0
|
|
| 21.06.2015, 13:56 | |
|
Многопоточность Многопоточность многопоточность в 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 и то, что с ним. . .
|