Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> java.util.concurrent.*, где взять доку? 
:(
    Опции темы
Java2
Дата 8.8.2006, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 26.4.2006

Репутация: нет
Всего: нет



Народ, подскажи, пожалуйста, где взять хорошую доку по пакету  java.util.concurrent.*;  и желательно на русском. 

PM MAIL   Вверх
powerOn
Дата 8.8.2006, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 47
Всего: 159



На русском только если в книжке какой искать, а так можно официальную доку почитать.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Mayk
Дата 8.8.2006, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: нет
Всего: 134



Можно получить  официальную доку самостоятельно. Распоковываем src.zip в папке с jdk и запускаем javadoc. Вуаля. Дока готова. 


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Java2
Дата 8.8.2006, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 26.4.2006

Репутация: нет
Всего: нет



Цитата(Mayk @  8.8.2006,  10:42 Найти цитируемый пост)
Можно получить  официальную доку самостоятельно. Распоковываем src.zip в папке с jdk и запускаем javadoc. Вуаля. Дока готова.  

Да такая дока у меня есть, только это не то. Нужно что-нибудь по подробней.
PM MAIL   Вверх
Maksym
Дата 8.8.2006, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

Репутация: 14
Всего: 62



Java2
Гм, куда уж подробнее чем javadoc и исходный код...
PM MAIL   Вверх
Java2
Дата 9.8.2006, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 26.4.2006

Репутация: нет
Всего: нет



Цитата(Maksym @  8.8.2006,  10:59 Найти цитируемый пост)
Гм, куда уж подробнее чем javadoc и исходный код... 

Нет, это лишь базовые вещи. Нужно подробней, т.к. API всё целиком не описывает.
PM MAIL   Вверх
LSD
Дата 9.8.2006, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(Java2 @  9.8.2006,  12:16 Найти цитируемый пост)
Нет, это лишь базовые вещи. Нужно подробней, т.к. API всё целиком не описывает.

API - там как раз описан полностью. Что именно там не описано?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Java2
Дата 9.8.2006, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 26.4.2006

Репутация: нет
Всего: нет



Хочется иметь какой-нибудь учебник о том, как этим пользоваться, т.к. в API всё коротко описано.
PM MAIL   Вверх
mulya
Дата 9.8.2006, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 3.5.2006

Репутация: нет
Всего: нет



Вот здесь на русском, но без примеров, только описание и в каких ситуациях можно использовать:
.doc документ о java.util.concurent
PM MAIL   Вверх
Java2
Дата 10.8.2006, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 26.4.2006

Репутация: нет
Всего: нет



Цитата(mulya @  9.8.2006,  14:59 Найти цитируемый пост)
Вот здесь на русском, но без примеров, только описание и в каких ситуациях можно использовать:
.doc документ о java.util.concurent 

Загружается, но не открывается. Пишет ошибку. 

Может у кого-нибудь ещё есть подробная инфа по java.util.concurent.*, также интересуют ещё сокеты. 

PM MAIL   Вверх
Maksym
Дата 10.8.2006, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

Репутация: 14
Всего: 62



Java2
Я скачал, это обзорная лекция по Java-технологиям. Все что там есть по твоей теме:

•    java.util.concurent
Этот пакет и его подпакеты добавлены в JDK, начиная с версии 1.5. Он содержит набор классов, реализующих коллекции с различными эффективными моделями синхронизации обращений к ним из нескольких параллельных потоков (коллекции в java.util являются либо полностью синхронизированными, т.е. при работе одного потока с такой коллекцией все остальные стоят, либо не поддерживают корректной работы с несколькими потоками, например, в результате параллельного добавления в множество двух одинаковых элементов может быть создано исключение). Также в этот пакет и его подпакеты входят вспомогательные классы, реализующие различные модели синхронизации параллельных потоков.
o    ConcurrentHashMap, ConcurrentLinkedQueue — реализуют ассоциативный массив и очередь с эффективными моделями синхронизации
o    CopyOnWriteArrayList, CopyOnWriteArraySet — реализуют список и множество, копирующие внутренние данные при попытке их изменить. Итераторы таких коллекций перебирают только те элементы, которые присутствовали в коллекции при создании итератора.
o    CountDownLatch — реализует синхронизационную модель «щеколды» — создается щеколда (с натуральным числом в качестве параметра-счетчика), которая постепенно вынимается с выполнение каких-то операций (как только такая операция выпонена, вызывается метод void countDown(), уменьшающий счетчик). Потоки, которые должны подождать конца выполнения данной цепочки операций, вызывают метод await() и блокируются. Как только щеколда будет вынута (счетчик упадет до нуля), все ожидающие потоки разблокируются и продолжают выполнение.
o    CyclicBarrier — реализует синхронизационную модель «барьер» — каждый поток из некоторой группы доходит до барьера (созданного с числом потоков в группе в качестве параметра) и ждет, пока все они не дойдут до него (ожидание начинается при вызове await()). Как только число ожидающих потоков достигнет заданного, барьер убирается и все они могут продолжать выполнение. Кроме того, в качестве параметра конструктора можно задать некотоые действия (в виде объекта Runnable), которые будут выполняться после того, как все потоки достигнут барьера, но до их освобождения.
o    Semaphore — недвоичный семафор. Обеспечивает одновременную работу не более чем некоторого числа потоков. Такой объект создается с параметром-числом (доступных ресурсов), каждый поток, желающий захватить семафор, вызывает метод aquire(), каждый поток, желающий его освободить, вызывает метод release(). Если число захватов сравнилось с заданным при построении значением, каждый очередной захватывающий поток будут приостановлен, пока не семафор не будет освобожден одним из уже захвативших его потоков (после чего только один из ожидающих продолжит выполнение).
o    ThreadPoolExecutor — реализует пул потоков, предназначенных для обработки асинхронно поступающих заданий.
oo    void execute(Runnable) — передает пулу на выполнение некотрую задачу
oo    int getTaskCount() — возвращает примерное число задач, переданных на выполнение
oo    int getCompletedTaskCount() — возвращает примерное число выполненных задач
oo    boolean remove(Runnable) — удаляет задачу, если она еще не начала выполняться
oo    int getMaximumPoolSize() — возвращает макимально возможное число потоков в пуле
oo    int getPoolSize() — возвращает число потоков в пуле на данный момент
•    java.util.concurrent.locks
Содержит дополнительные реализации моделей синхронизации потоков.
o    ReenterantLock — двоичный семафор с возможностью многократного захвата одним потоком. 
oo    void lock() захватывает семафор для текущего потока
oo    void unlock() освобождает семафор, захваченный текущим потоком
oo    Condition newCondition() — возвращает объект-условие, связанный с данным семафором. Можно использовать это условие для блокировки потоков до его наступления. Поток блокируется вызовом await() у объекта-события и освобождается, когда у того же события будет вызван метод signal() (освобождает только один поток) или signalAll() (освобождает все блокированные потоки).
o    ReenterantReadWriteLock — реализует модель синхронизации «чтение-запись», позволяющую читать данные одновременно нескольким потокам, а изменять только одному.
oo    ReenterantReadWriteLock.ReadLock readLock() — возвращает объект для блокировки чтения
oo    ReenterantReadWriteLock.WriteLock writeLock() — возвращает объект для блокировки записи. Оба объекта реализуют общий интерфейс lock()-unlock() для установки или отключения соответствующих блокировок.

PM MAIL   Вверх
Sardar
Дата 10.8.2006, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 4
Всего: 317



Цитата(Maksym @  10.8.2006,  13:04 Найти цитируемый пост)
ReenterantLock — двоичный семафор с возможностью многократного захвата одним потоком. 

Обычный synchronized это обычный бинарный семафор, с возможностью рекурсивно захватить его одним и тем же потоком несколько раз (reentrant lock). Единственное что даёт класс это возможность увидеть всю очередь потоков + возможность поставить более либеральный режим, при котором тот кто ждал наиболее долго получит приоритет. В любом случае ИМХО обычный synchronized лучше, если не нужен экстрафункционал ReenterantLock.

ReenterantReadWriteLock - классная фича, которую всегда приходилось делать самому smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Java2
Дата 10.8.2006, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 26.4.2006

Репутация: нет
Всего: нет



все равно ничего не понятно из этого документа. 
Дело в том, что это всего мало, и даже API мало, чтобы понимать принципы, а не дергать только методы
PM MAIL   Вверх
batigoal
Дата 10.8.2006, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Цитата(Java2 @  10.8.2006,  19:31 Найти цитируемый пост)
Дело в том, что это всего мало, и даже API мало, чтобы понимать принципы, а не дергать только методы 

Так тебя интересует Java Concurrent, или общая теория синхронизации потоков?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
LSD
Дата 10.8.2006, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Тогда я думаю тебе надо почитать литературу по многопоточному программированию, а уже потом доку по java.util.concurrent.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0920 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.