Главная / Построение распределенных систем на Java / В случае если клиент завершит соединение, не послав предварительно сигнал EXIT_CLIENT: 1 package com.asw.net.ex1; 2 import java.io.*; 3 4 public class BillingClientService extends Thread { 5 DataInputStream dis; 6 DataOutputStream dos; 7 BillingService bs

В случае если клиент завершит соединение, не послав предварительно сигнал EXIT_CLIENT: 1 package com.asw.net.ex1; 2 import java.io.*; 3 4 public class BillingClientService extends Thread { 5 DataInputStream dis; 6 DataOutputStream dos; 7 BillingService bs; 8 9 public BillingClientService (BillingService bs,DataInputStream dis,DataOutputStream dos){ 10 this.bs = bs; 11 this.dis = dis; 12 this.dos = dos; 13 } 14 15 public void run(){ 16 System.out.println("ClientService thread started"); 17 boolean work = true; 18 while (work) { 19 int command; 20 try { 21 command = dis.readInt(); 22 switch (command) { 23 case BillingService.ADD_NEW_CARD: 24 addNewCard(); 25 break; 26 case BillingService.ADD_MONEY: 27 addMoney(); 28 break; 29 case BillingService.SUB_MONEY: 30 subMoney(); 31 break; 32 case BillingService.GET_CARD_BALANCE: 33 getCardBalance(); 34 break; 35 case BillingService.EXIT_CLIENT: 36 work = false; 37 break; 38 default: 39 System.out.println("Bad operation:" + command); 40 } 41 } catch (IOException e) { 42 e.printStackTrace(); 43 } 44 } 45 } 46 47 void addNewCard() throws IOException{ 48 String personName = dis.readUTF(); 49 String card = dis.readUTF(); 50 bs.addNewCard(personName,card); 51 } 52 void addMoney() throws IOException{ 53 String card = dis.readUTF(); 54 double money = dis.readDouble(); 55 bs.addMoney(card,money); 56 } 57 void subMoney() throws IOException{ 58 String card = dis.readUTF(); 59 double money = dis.readDouble(); 60 bs.subMoney(card,money); 61 } 62 void getCardBalance() throws IOException{ 63 String card = dis.readUTF(); 64 double money = bs.getCardBalance(card); 65 dos.writeDouble(money); 66 } 67 }

вопрос

Правильный ответ:

экземпляр BillingClientService никогда не завершит свою работу (не выйдет из метода run)
экземпляр BillingClientService завершит свою работу
возникнет системная ошибка, все экземпляры BillingClientService завершат свою работу
Сложность вопроса
22
Сложность курса: Построение распределенных систем на Java
91
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Экзамен сдал на 4. Спасибо сайту
28 сен 2018
Оставить комментарий
Другие ответы на вопросы из темы интернет-технологии интуит.