java keypress事件_Java Util.keyPress方法代码示例

import org.jgroups.util.Util; //导入方法依赖的package包/类

void loop() throws Exception {

CounterService counter_service=new CounterService(ch);

ch.connect("counter-cluster");

Counter counter=counter_service.getOrCreateCounter("mycounter", 1);

boolean looping=true;

while(looping) {

try {

int key=Util.keyPress("[1] Increment [2] Decrement [3] Compare and set\n" +

"[4] Create counter [5] Delete counter\n" +

"[6] Print counters [7] Get counter\n" +

"[8] Increment 1M times [9] Dump pending requests [x] Exit\n");

switch(key) {

case '1':

long val=counter.incrementAndGet();

System.out.println("counter: " + val);

break;

case '2':

val=counter.decrementAndGet();

System.out.println("counter: " + val);

break;

case '3':

long expect=Util.readLongFromStdin("expected value: ");

long update=Util.readLongFromStdin("update: ");

if(counter.compareAndSet(expect, update)) {

System.out.println("-- set counter \"" + counter.getName() + "\" to " + update + "\n");

}

else {

System.err.println("failed setting counter \"" + counter.getName() + "\" from " + expect +

" to " + update + ", current value is " + counter.get() + "\n");

}

break;

case '4':

String counter_name=Util.readStringFromStdin("counter name: ");

counter=counter_service.getOrCreateCounter(counter_name, 1);

break;

case '5':

counter_name=Util.readStringFromStdin("counter name: ");

counter_service.deleteCounter(counter_name);

break;

case '6':

System.out.println("Counters (current=" + counter.getName() + "):\n\n" + counter_service.printCounters());

break;

case '7':

counter.get();

break;

case '8':

int NUM=Util.readIntFromStdin("num: ");

System.out.println("");

int print=NUM / 10;

long retval=0;

long start=System.currentTimeMillis();

for(int i=0; i < NUM; i++) {

retval=counter.incrementAndGet();

if(i > 0 && i % print == 0)

System.out.println("-- count=" + retval);

}

long diff=System.currentTimeMillis() - start;

System.out.println("\n" + NUM + " incrs took " + diff + " ms; " + (NUM / (diff / 1000.0)) + " ops /sec\n");

break;

case '9':

System.out.println("Pending requests:\n" + counter_service.dumpPendingRequests());

break;

case 'x':

looping=false;

break;

}

}

catch(Throwable t) {

System.err.println(t);

}

}

Util.close(ch);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值