7 / 7 / 2
Регистрация: 21.02.2019
Сообщений: 134
|
|||||||||||
1 | |||||||||||
Передать HashMap в другой поток для заполнения, а затем вернуть его обратно13.09.2019, 16:52. Показов 1700. Ответов 6
Доброго всем времени суток. Подскажите, как решить вот такую дилемму.
Столкнулся со следующей проблемой. В основном потоке создаю HashMap и затем передаю его в качестве параметра в класс, который реализует интерфейс Runnable, что бы в другом потоке затем заполнить некоторыми значениями.
Добавлено через 6 минут Возможным способом решения я нашел следующее: создать метод в классе ScannigThread, который вернет resultOfWorking. И вызвать его после того, как второй поток отработает, т.е. псоле try/catch с join() в главном потоке. Но мне кажется это несколько неправильным подходом.
0
|
13.09.2019, 16:52 | |
Ответы с готовыми решениями:
6
Передать bitmap из одной формы, изменить его в другой и вернуть обратно. как? Как передать рандомно заполненный массив из одного объекта в другой с возвратом его обратно? Заменить один текстовый файл на другой при отсутствии пинга до сервера и вернуть все обратно при его появлении Вернуть строку string обратно в поток cin |
2398 / 2223 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
13.09.2019, 17:27 | 3 |
Pb-BASS, вся твоя задача выглядит неправильным подходом. Зачем создавать мапу в одном потоке чтобы заполнять в другом? Почему бы не создавать в другом потоке? Какую проблему ты пытаешься решить?
1
|
7 / 7 / 2
Регистрация: 21.02.2019
Сообщений: 134
|
|
13.09.2019, 17:32 [ТС] | 4 |
Хочу в отдельном потоке искать файлы на жестком диске, в основном в это время на ГУи какой-нибудь прогресс-бар отображать, поскольку процедура может затянуться. А вот после поиска мне список этих фалов необходимо на ГУИ отобразить. Поэтому и Коллекция создается в основном потоке.
Добавлено через 36 секунд Но вот да, HashMap не самый лучший вариант для этого, я сейчас подумал.
0
|
4857 / 2656 / 913
Регистрация: 29.11.2010
Сообщений: 5,731
|
|
13.09.2019, 18:19 | 5 |
Если вы используете JavaFX, в нем есть набор классов для задач многопоточности.
2
|
4539 / 2732 / 486
Регистрация: 28.04.2012
Сообщений: 8,628
|
|
13.09.2019, 18:40 | 6 |
Pb-BASS, начни с чтения “Java Concurrency in practice”, ибо твой код крайне кривой.
1
|
2398 / 2223 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
|
|
14.09.2019, 10:07 | 7 |
Pb-BASS, мапу создавай внутри потока и возвращай по завершении. Внутрь передавай интерфейс который будет лиссенером прогресса поиска. Если на джава 8, то ламбду юзай.
Если нужно показывать результаты по мере нахождения, то там механизм будет producer-consumer. В сети полно мануалов на эту тему.
2
|
14.09.2019, 10:07 | |
14.09.2019, 10:07 | |
Помогаю со студенческими работами здесь
7
Как вернуть символ обратно в поток ввода Как считать информацию из запущенного мной процесса, а затем вернуть её обратно? Как получить объектную модель из XML, записать в класс и затем вернуть обратно в XML Qt 5.13 Вызывающий поток не может получить доступ к объекту, так как его владельцем является другой поток Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |