2a9cfd0b

Метод start


Метод start вызывается, когда пользователь отображает документ HTML, содержащий аплет. Наша реализация этого метода проверяет, создана ли задача перерисовки окна, и, если эта задача не запущена, создает и запускает ее:

public void start()

{

  if(m_MultiTask == null)

  {

    m_MultiTask = new Thread(this);

    m_MultiTask.start();

  }

}

Первоначально в поле m_MultiTask находится значение null, поэтому при первом вызове метода start всегда создается задача как объекта класса Thread. При этом конструктору с помощью ключевого слова this передается ссылка на наш аплет, поэтому при запуске задачи управление будет передано методу run, определенному в аплете.

Созданная задача не запускается автоматически. Для запуска необходимо вызвать метод start.


Когда пользователь начинает просмотр документа HTML, содержащего наш аплет, метод start создает и запускает задачу. Для создания задачи мы используем оператор new, а для старта задачи - метод start класса Thread:

public void start()

{

  if (m_Rectangles == null)

  {

    m_Rectangles = new Thread(this);

    m_Rectangles.start();

  }

}

Обратите внимание, что мы передаем конструктору класса Thread параметр this - ссылку на аплет. В результате роль задачи, работающей параллельно с кодом аплета, будет выполнять метод run, определенный в классе аплета.

Ссылка на созданную задачу записывается в поле m_Rectangles.




Метод start основного класса аплета вызывается, когда пользователь отображает страницу сервера Web с аплетом. Наша реализация этого метода создает новую задачу и сохраняет ссылку на нее в поле m_Scroller.



Содержание раздела