A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 韩冬 中级黑马   /  2013-5-2 23:27  /  1443 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。    今天搞了半天还总是报
错,可能是整体思想有问题,那个哥们有时间帮忙搞一下,谢谢了,在线等.

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

5 个回复

倒序浏览

public class Test
{
     private int num;
     public static void main(String[] args)
    {
        Test t = new Test();
        Add add = t.new Add();
        Sub sub = t.new Sub();
        
        
          Thread t1 = new Thread(add);
          Thread t2 = new Thread(sub);
          t1.start();
          t2.start();
         
     }
   
   
    private synchronized void add()  
     {
         System.out.println(Thread.currentThread().getName()+":"+num++);
     }
     
     private synchronized void sub()
    {
        
         System.out.println(Thread.currentThread().getName()+":"+num--);
     }
     
    class Add implements Runnable
     {
       public void run()
         {
             for(int i=0;i<200;i++)
             {
                 add();
            }
         }
     }
     
     class Sub implements Runnable
     {
         public void run()
         {
             for(int i=0;i<200;i++)
            {
                 sub();
             }
        }
    }
}

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
public class ThreadTest
{
      private int j;
      public static void main(String args[])
     {
     ThreadTest 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();
}
}
}
}

不知道对不对   你先尝试下

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
吴凯 发表于 2013-5-2 23:53
public class ThreadTest
{
      private int j;

这个可以,谢谢.
回复 使用道具 举报
   额  看来我是晚了  那就没得搞头了.....
回复 使用道具 举报
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马