База ответов ИНТУИТ

Построение распределенных систем на Java

<<- Назад к вопросам

Класс BillingClientService унаследован от класса Thread, потому что:

(Отметьте один правильный вариант ответа.)

Варианты ответа
класс представляет собой цикл чтения данных от клиента и их обработки, для того чтобы была возможность одновременно обрабатывать данные от нескольких клиентов, класс унаследован от Thread(Верный ответ)
класс работает с потоками ввода/вывода (DataInputStream, DataOutputStream), поэтому должен быть унаследован от Thread
все классы, работающие с пакетом java.net должны быть унаследованы от класса Thread
Похожие вопросы
Класс BillingService унаследован от класса Thread, потому что:
Класс, использующий Dynamic Dynamic Skeleton Interface (DSI), наследуя от класса DynamicImplementation должен реализовать метод(ы):
В какой строке класса BillingServiceServer (листинг программы) создается объект, реализующий интерфейс BillingService, определенный в BillingService.idl:
Module BillingServiceModule (в определении BillingService.idl) при использовании утилиты idlj породит следующую синтаксическую конструкцию Java:
Создание класс BillingServiceServer с параметром при регистрации LifespanPolicyValue.PERSISTENT обеспечивает:
Метод readObject, в строке 32 , в случае, если клиент после установки соединения не записал в поток никаких данных, приведет:
1  package com.asw.net.ex2;2  import java.io.*;3  import java.net.*;4  5  public class BillingClientService extends Thread {6  ObjectInputStream ois;7  ObjectOutputStream oos;8  BillingService bs;9  Socket s;10  11  public BillingClientService(BillingService bs,Socket s){12    System.out.println("Constructor BillingClientService\n");13    this.bs = bs;14    this.s = s;15    try {16      this.oos = new ObjectOutputStream(s.getOutputStream());17      this.ois = new ObjectInputStream(s.getInputStream());18    } catch (IOException e) {19      // TODO Auto-generated catch block20      e.printStackTrace();21    }22    23    System.out.println("Stream`s done \n socket="+s);24  }25  public void run(){26    System.out.println("ClientService thread started\n");27    boolean work = true;28    while (work) {29      int command;30      Object o;31      try {32        o = ois.readObject();              33        if (o instanceof Card[]) {34          Card[] cards = (Card[])o;35          for (int i=0;i<cards.length;i++){36            bs.addNewCard(cards[i]);37          }38        }else if (o instanceof CardOperation[]){39          CardOperation[] co = (CardOperation[])o;40          for (int i=0;i<co.length;i++){41            bs.addMoney(co[i].card,co[i].amount);42          }43        }else if (o instanceof String){44          oos.writeObject(bs.getCard((String)o)); 45        }else System.out.println("Bad operation");46        47      } catch (IOException e) {48        e.printStackTrace();49      } catch (ClassNotFoundException e) {50        e.printStackTrace();51      }52    }53  }54  }
При вызове метода toString() для экземпляра класса Card на стороне клиента (листинг программы):
С помощью каких утилит, входящих в состав Sun Application Server, осуществляется запуск BillingClient и BillingService:
В какой строке класса BillingServiceServer (листинг программы) объект, реализующий интерфейс BillingService, регистрируется в сервисе имен:
В хэштаблице _cards (класс BillingServiceImpl) хранятся: