powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как реализовать очередь с синхронизируемыми методами?
3 сообщений из 3, страница 1 из 1
Как реализовать очередь с синхронизируемыми методами?
    #37841930
ii8_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача следующая: Есть m потоков, добавляющих данные в очередь. Есть n потоков забирающих данные из очереди и выводящие их в консоль. Реализовать очередь, которая позволяла бы реализовать такое.

Допустим я создал простенькую очередь:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
import java.util.ArrayList;
import java.util.List;

public class Queue {

	private List<Integer> queue = new ArrayList<Integer>();

	public  Boolean put(int value) {
		return queue.add(value);
	}

	public  int get() {
		int result = queue.get(0);
		queue.remove(0);
		return result;
	}

	public int getCount() {
		return queue.size();
	}

	public Boolean hasNext() {
		return queue.size() > 0;
	}
}



Как реализовать сами потоки? Нужно ли делать методы get() и put() очереди synchronized?
Прошу помочь и разжевать, если возможно. Так как не особо силён в многопоточности(((
...
Рейтинг: 0 / 0
Как реализовать очередь с синхронизируемыми методами?
    #37842374
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArrayBlockingQueue, ConcurrentLinkedQueue, LinkedBlockingQueue и пр.
Читать Java Concurrency in Practice
Ознакомиться хотя бы с ReadWriteLock и задачей "читателей и писателей".
...
Рейтинг: 0 / 0
Как реализовать очередь с синхронизируемыми методами?
    #37845490
ii8_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Спасибо! Иду разбираться.
а ту задачу решил с помощью SynchronousQueue.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как реализовать очередь с синхронизируемыми методами?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]