Заблокировать byte[]
От: MAPCUAHUH  
Дата: 29.05.07 06:33
Оценка:
Здраствуйте,

возникла такая проблема есть поток который пишет полученнуюи информацию в некий OutputStream. Как заблокировать ссылку на массив полученную от основного потока.

пробовал так:


class WritterThread extends Runnable
{
  public Vector<byte> bytes;//у меня есть геттеры сеттеры тут их опущу )
  public OutputStream os;
  public Object caller;

  public void run() //вариант 1
  {
      byte[] bt=bytes.toArray();
      os.write(bt); 
      caller.notify();
  }

  
}


Первый вариант мне не понравился тем, что вдуг основной поток изменит какой-нибудь элемент вектора, то не отразится ли это на массиве байтов?

в JavaDoc сказано про toArray():Returns an array containing all of the elements in this Vector in the correct order.


как я понял массив будет содержать ссылки на элементы вектора а не копии элементов.

З.Ы. что такое OpenID раньше его небыло
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.