设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
java面试题。在网上搜到了代码,放入记事本清出一下格式,就可以在eclipse中运行了;
java 代码
- public class ThreadTest1{
- private int j;
- public static void main(String args[]){
- ThreadTest1 tt=new ThreadTest1();
- Inc inc=tt.new Inc();
- Dec dec=tt.new Dec();
- for(int i=0;i<2;i++){
- Thread t=new Thread(inc);
- t.start();
- t=new Thread(dec);
- t.start();
- }
- }
- private synchronized void inc(){
- j++;
- System.out.println(Thread.currentThread().getName()+"-inc:"+j);
- }
- private synchronized void dec(){
- j--;
- System.out.println(Thread.currentThread().getName()+"-dec:"+j);
- }
- class Inc implements Runnable{
- public void run(){
- for(int i=0;i<100;i++){
- inc();
- }
- }
- }
- class Dec implements Runnable{
- public void run(){
- for(int i=0;i<100;i++){
- dec();
- }
- }
- }
- }
本文提供了一个Java多线程编程实例,通过四个线程(两个递增、两个递减)演示了同步方法的使用,确保对共享变量的操作正确无误。

被折叠的 条评论
为什么被折叠?



