拿到这个题目我无从下手,帮忙解决一下 编程实现计数器累加,要求如下: 1)计数器必须封装在一个类中; 2)启动多个线程去对计数器累加; 3)对计数器进行同步处理; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这样是否满足你的要求?public class Test { public static void main(String[] args) { Counter counter = new Counter(); for (int i = 0; i < 10; i++) { MyThread mt = new MyThread(counter); // 启动10个线程, 操作计数器 mt.start(); } }}class Counter { // 计数器的同步锁 public Object mutex = new Object(); private int count; public Counter() { this.count = 0; } public void add() { this.count++; } public int getCount() { return count; }}class MyThread extends Thread { private Counter counter; public MyThread(Counter counter) { this.counter = counter; } @Override public void run() { while (true) { synchronized (counter.mutex) { counter.add(); System.err.println("Thread " + this + " 执行add操作,计数器值为:" + this.counter.getCount()); } try { Thread.sleep(1 * 1000); } catch (InterruptedException e) { e.printStackTrace(); } } }} public void add() { this.count++;}应该给这个方法加同步锁会更合理点。 都是java的 楼主要用Java搞这个题目 ? 求JAVA笔试题目 大家帮忙看看我这个程序需要怎么修改 想请问我这样的人要刻苦学习JAVA语言,要多长时间能参加工作? String装换成Int 有谁知道有什么好的利用java控制生成word的工具 Java IDE工具JawaBeginer发布1.4版本了。增加好多好用的功能。 异常问题 邮件系统的问题 请问 ucs2编码如何转化成gb格式的? 请问现在有哪些中文的java技术论坛,各自特点怎么样? 紧急求助,在线等 怎样可以记录第二个窗体的分数和把分数的记录设置在第一个窗体
Counter counter = new Counter();
for (int i = 0; i < 10; i++) {
MyThread mt = new MyThread(counter);
// 启动10个线程, 操作计数器
mt.start();
}
}
}class Counter {
// 计数器的同步锁
public Object mutex = new Object(); private int count; public Counter() {
this.count = 0;
} public void add() {
this.count++;
} public int getCount() {
return count;
}}class MyThread extends Thread { private Counter counter; public MyThread(Counter counter) {
this.counter = counter;
} @Override
public void run() {
while (true) {
synchronized (counter.mutex) {
counter.add();
System.err.println("Thread " + this + " 执行add操作,计数器值为:"
+ this.counter.getCount());
}
try {
Thread.sleep(1 * 1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}}
public void add() {
this.count++;
}应该给这个方法加同步锁会更合理点。