Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
31 / 31 / 6
Регистрация: 11.07.2013
Сообщений: 241

Многопоточность

22.09.2013, 20:06. Показов 1828. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Подскажите, где почитать о концепции применения многопоточности? Я имею ввиду зачем и когда многопоточность нужна, чем без нее хуже(аналог для инкапсуляции - нужна чтобы запретить нечаянно изменять поля, появляется единица - класс, которая упаковывает в себе как данные, так и средства их обработки и т.д.).
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.09.2013, 20:06
Ответы с готовыми решениями:

Многопоточность
Нужно сделать 5 потоков по 10 сообщений. И чтоб потоки выводились в обратном порядке... Вот только я понятия не имею, как это сделать....

Многопоточность
Здравствуйте! Есть код public static void main(String args) throws InterruptedException { Thread thread = new...

Многопоточность
Если не ошибаюсь, данная вещь, которая описана ниже, называется многопоточностью. Чтобы в полной мере шарить в java надо затратить...

14
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
 Аватар для tankomaz
443 / 442 / 100
Регистрация: 14.10.2012
Сообщений: 1,146
Записей в блоге: 9
22.09.2013, 21:03
вы бы хотели, чтобы ваш пк "замирал", когда вы качаете торрент? или еще лучше - запустили калькулятор и больше ничего делать не можете. А вот именно потому, что это всё в разных потоках (вообще в процессах, но суть-да-дело для понимания не меняет) запускается - и есть возможность делать параллельно что-то
1
KeM6Pug}I{a
49 / 49 / 1
Регистрация: 23.08.2013
Сообщений: 202
22.09.2013, 22:21
Да только не думайте что если запустите over999 потоков то программа будет летать. Совсем на оборот...
Так что где можно обойтись одним потоком, не стоит подключать другие.
1
31 / 31 / 6
Регистрация: 11.07.2013
Сообщений: 241
22.09.2013, 22:35  [ТС]
Всё то что вы сказали - верно. Я это и имел ввиду, только намного подробнее. Дело в том, что прочитав две базовые книги(Шилдт и Хорстман), где многопоточность раскрывается очень поверхностно, осталось много вопросов.

Единственное, что пока понял наверняка - тема очень сложная.

Добавлено через 51 секунду
Или новичку не следует сильно туда лезть, а придет потом с опытом?
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
22.09.2013, 22:54
Цитата Сообщение от OxomHuK Посмотреть сообщение
Дело в том, что прочитав две базовые книги(Шилдт и Хорстман), где многопоточность раскрывается очень поверхностно, осталось много вопросов.
в нашей Литературе на форуме есть параграф про мультипоточность

если у вас английский в порядке, почитайте "JavaConcurrency InPractice" BrianGöetz, TimPeierls, JoshuaBloch, JosephBowbeer, DavidHolmes, DougLea (Англ.)
1
31 / 31 / 6
Регистрация: 11.07.2013
Сообщений: 241
22.09.2013, 23:13  [ТС]
Цитата Сообщение от mutagen Посмотреть сообщение
"JavaConcurrency InPractice"
О, спасибо
0
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
23.09.2013, 02:15
Представьте однопоточную ОС)) Нереально да? Нажмите Ctrl+Alt+Del и посмотрите сколько там процессов работает параллельно. А еще вы захотите запустить пару программ и включить музыку и т.д. Это довольно большая тема на которую уходит не одна книга.
Если хотите изучать с помощью Java то для самого начала посоветую Брюса Эккеля "Философия Java", а после этого Хортсманна
0
31 / 31 / 6
Регистрация: 11.07.2013
Сообщений: 241
23.09.2013, 02:26  [ТС]
Цитата Сообщение от _Den_ Посмотреть сообщение
Если хотите изучать с помощью Java то для самого начала посоветую Брюса Эккеля "Философия Java", а после этого Хортсманна
да, но с точностью до наоборот
Цитата Сообщение от _Den_ Посмотреть сообщение
Представьте однопоточную ОС)) Нереально да? Нажмите Ctrl+Alt+Del и посмотрите сколько там процессов работает параллельно.
Если честно, то устаю от таких примеров.
Какое в принципе отношение имеет количество ядер процессора/процесов в диспетчере до того, как и для чего правильно использовать многопоточность с точки зрения джава программиста(а не с точки зрения пользователя, который смотрит сколько одновременно потоков/процессов и радуется что кроме торрента может работать одновременно еще много программ).

Простите, что адресую вам.
0
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
23.09.2013, 03:06
Я не отвечал на вопрос "с точки зрения Java программиста", я приводил самый примитивный пример на вопрос зачем оно вообще нужно. Кстати именно для таких вопросов существует гугл) А на счет "с точностью до наоборот" абсолютно не согласен, философия по сложности на уровень ниже, и я говорю о Хорстманне в целом всю его литературу по Java, а не первый том который по тематике такой как философия
0
31 / 31 / 6
Регистрация: 11.07.2013
Сообщений: 241
23.09.2013, 04:16  [ТС]
Цитата Сообщение от _Den_ Посмотреть сообщение
философия по сложности на уровень ниже,
у Чейза одна из книг называлась "Вы шутите наверное"

Добавлено через 2 минуты
не пустые слова,так как прочитан том хорстмана и половина философии Экккеля
0
 Аватар для _Den_
161 / 157 / 29
Регистрация: 21.09.2013
Сообщений: 487
Записей в блоге: 2
23.09.2013, 04:24
Неудачный пример. Я вам скажу что на цвет все фломастеры разные. Да, я не шучу наверное. По этому кому как, моя первая книга философия и она мне не как вам) Да и большинство программистов советует ее сначала, но как я уже говорил о фломастерах, каждому своё
0
127 / 131 / 11
Регистрация: 25.12.2011
Сообщений: 443
23.09.2013, 04:46
Цитата Сообщение от OxomHuK Посмотреть сообщение
зачем и когда многопоточность нужна, чем без нее хуже
Например, нужна для вынесения долгих операций из EDT при разработке приложений на Swing, чтобы потом не говорили "смотрите как Java-приложение тормозит!". В C# для подобных вещей прям в сам язык ввели async/await.
1
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
23.09.2013, 10:36
Цитата Сообщение от _Den_ Посмотреть сообщение
Да и большинство программистов советует ее сначала
Это явная дезинформация, большинство советует в таком порядке.
1. Хорстманн
2. Гослинг
3. Эккель
4. Блох

а Шилдта я вообще рекомендовал бы не читать, так как он втупую переписывает javadoc (разве что тем у кого с английским проблемы)

Не по теме:

на вашем месте я бы не начинал раздавать советы, пока не прочитал вышеуказанный список, так как у вас нет полной картины в пока

1
 Аватар для chizz
993 / 521 / 102
Регистрация: 19.03.2013
Сообщений: 3,114
Записей в блоге: 19
23.09.2013, 10:39
ИМХО сложность в многопоточности возникает только тогда, когда у потоков разделяемые ресурсы. Если нет, то ничего сложного. Наделал кучу потоков и запускай себе.
0
31 / 31 / 6
Регистрация: 11.07.2013
Сообщений: 241
25.09.2013, 00:57  [ТС]
Насколько я понял искусство написания многопоточных программ состоит в том, чтобы писать классы, методы которых можно будет выполнять в разных потоках(а там уже учитывается synchronized можна ли потокам 'трогать' ресурс одновременно, volatile, который обеспечивает visibility, свойство атомарность, которое обеспечивают классы Atomic и прочее)

Цитата Сообщение от chizz Посмотреть сообщение
Если нет, то ничего сложного.
то что я понял - тема очень сложная
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.09.2013, 00:57
Помогаю со студенческими работами здесь

Многопоточность
Вот изучаю Java и застопорился на использовании методов wait() и notify() в многопоточности! Может кто-нибудь на примере рассказать как они...

многопоточность детально!
Уважаемые!!!! на базовом уровне ознакомился с многопоточностью в Java (потоки, ключевые слова, синхронизация, понятие монитора) хотелось бы...

многопоточность и запись в файл
помогите справится с задачей, необходимо прочитывать побайтно из файла текст в ASCII кодировке в одном потоке, преобразовывать его...

Многопоточность
Мне нужно что бы сообщение System.out.println(String.format("%1$s будит парикмахера.", client.getName())); выводилось только один раз. В...

Многопоточность
Здравствуйте, что-то у меня не выходит ... Должно быть так А . . В А . . В А . . В ... и т.д.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru