Взаимодействие потоков

wait();

notifyAll();

notify();

 

synchronized void DoWhileCondition() {

обязательно [while !условие wait]

//выполнить что-либо

}

 

synchronized void ChangeCondition() {

//выполнить что-либо

notifyAll();

}

Пример 7.
class Cell
{
Cell next;
Object Item;
Cell(object item ) {this.item = item;}
}

class ? {
private Cell head, tail;
public synchronized void add(object o)
{
Cell p = new Cell(o);
if (null==tail)
head = p;
else
tail.next = p;
p.next = null;
tail = p;
notifyAll();
}
public synchronized object take() throws ?Exception
{
while (null ==head)
wait();
Cell p = head;
head = head.next;
if (null = head)
tail = null;
return p.item;
}
}

1.4. I/O

-Символьные потоки данных

-Байтовые потоки данных

 

Симв. последовательность 16-битовых слов – Unicode.

I/O

  1. Текстовый – симв. потоки
  2. Бинарный – байт. потоки

Байтовые потоки называют потоками ввода и вывода.

Символьные потоки называют потоками записи и чтения.

 

1) Типы общего назначения

2) Классы, определяющие классы потоков (???? 1. Фильтровать ??? 2. Буферизовать)

3) Специализированность – для простоых типов, строк.

4) ?? Для обр. файловых данных ???

5) Поддержка сериализации

Все байтовые потоки поддерживают механизмы открытие и закрытия.

Поток открывается при … ???