用JAVA写一个多线程程序,生成2个线程,对一个共享变量value,一个加1,另一个线程对变量减1,各自输出。
3个回答
展开全部
代码没有考虑同步问题,不过单一的一次操作,出现同时访问的几率甚小 public class ThreadDemo{ private int value = 0; class Increment extends Thread{ public void run(){ value++; System.out.println("加1后:"+value); } } class Decrement extends Thread{ public void run(){ value--; System.out.println(“减1后:”+value); } } public void doTest(){ new Increment().start(); new Decrement().start(); } public static void main(String args[]){ new ThreadDemo().start(); } }
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
多线程要么集成Thread类 要么实现Runnable 接口 入口都是public void run(){} 如果需要一个完善的可以做一个线程池.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class Test {
private Integer valuep = 0;
public static void main(String[] arr) {
Integer value = 0;
Test test=new Test();
test.test();
System.out.println("value:"+value);
}
public void test(){
new plusThread().run();
new minusThread().run();
}
class plusThread implements Runnable {
@Override
public void run() {
valuep++;
System.out.println("ThreadPlus:"+valuep);
}
}
class minusThread implements Runnable {
@Override
public void run() {
valuep--;
System.out.println("ThreadMinus:"+valuep);
}
}
}
private Integer valuep = 0;
public static void main(String[] arr) {
Integer value = 0;
Test test=new Test();
test.test();
System.out.println("value:"+value);
}
public void test(){
new plusThread().run();
new minusThread().run();
}
class plusThread implements Runnable {
@Override
public void run() {
valuep++;
System.out.println("ThreadPlus:"+valuep);
}
}
class minusThread implements Runnable {
@Override
public void run() {
valuep--;
System.out.println("ThreadMinus:"+valuep);
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询