|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.10.2016, 22:43 | #31 |
Пользователь
Регистрация: 17.10.2016
Сообщений: 95
|
Я переделал через Мютекс, думал может так будет быстрее работать и правильно нифига(wait и т.д)(
Код:
Последний раз редактировалось stasJun; 17.10.2016 в 23:09. |
17.10.2016, 23:08 | #32 | |
Пользователь
Регистрация: 17.10.2016
Сообщений: 95
|
Цитата:
|
|
17.10.2016, 23:09 | #33 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Причем тут мьютекс? я ж написал в чем проблема.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
17.10.2016, 23:54 | #34 |
Пользователь
Регистрация: 17.10.2016
Сообщений: 95
|
|
18.10.2016, 09:28 | #35 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Не делать ничего после запуска потоков, всю обработку результата и т.п. делать только по сигналу (completed, ...)
Я бы сделал у потока 2 сигнала: completed и progressChanged. Во втором просто передавать количество обработанных байтов: в цикле чтения если надо (только наверно лучше не каждую итерацию а как-то более редко) и в конце размер файла как сейчас. А в completed наверно надо передавать имя файла и результат (в данном случае bool найдено/не найдено). При его получении выводить результат и считать количество завершенных потоков для определения завершения всего поиска.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
18.10.2016, 10:54 | #36 | |
Пользователь
Регистрация: 17.10.2016
Сообщений: 95
|
Цитата:
я все прочитал что ві написали, и не совсем понял. void completed(bool mIsCancelled); а от как с progressChanged сделать я не понял( Последний раз редактировалось stasJun; 18.10.2016 в 11:05. |
|
18.10.2016, 11:40 | #37 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Причем тут mIsCancelled?
Ну mIsCancelled конечно тоже можно сообщать в completed и часто это бывает удобно, но не обязательно и к основной задаче не относится. Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 18.10.2016 в 11:43. |
18.10.2016, 12:12 | #38 | |
Пользователь
Регистрация: 17.10.2016
Сообщений: 95
|
Цитата:
[CODE]signals: void completed(QString, bool); Код:
у меня в виджете а не в класе поток. и оно не знает такую функцию : D:\Development\Pavlik\Qt\FindFilesW idget\FindWordInFileThread.cpp:40: error: C3861: 'progressChanged': identifier not found и у меня функцияпринимает аргумент number Код:
|
|
18.10.2016, 13:21 | #39 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ну видимо у вас нет сигнала с именем progressChanged в классе потока.
и пример выше был про случай когда один поток ищет только в одном файле, для переделывания под несколько файлов как тут надо не просто скопипастить
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 18.10.2016 в 13:23. |
18.10.2016, 13:50 | #40 |
Пользователь
Регистрация: 17.10.2016
Сообщений: 95
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск слов в файле | Stepan_P | Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) | 0 | 25.12.2015 14:14 |
Поиск слов в текстовом файле | slipkos | Помощь студентам | 4 | 02.06.2013 19:18 |
Поиск симметричных слов в файле | Almost | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 10.01.2013 08:53 |
Поиск слов в файле | сушка | Общие вопросы по программированию, компьютерный форум | 1 | 08.04.2012 12:44 |
Поиск слов в текстовом файле | svt | Помощь студентам | 8 | 07.11.2009 19:56 |