标题:2个线程输出12A34B.....5152Z。如何控制顺序???
取消只看楼主
渐渐鱼
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2018-5-11
结帖率:90%
已结贴  问题点数:20 回复次数:0 
2个线程输出12A34B.....5152Z。如何控制顺序???
程序代码:
public class Link_Thread
{
    public static void main(String []args)
    {
        Object obj = new Object();
        Shuzi x1 = new Shuzi(obj);
        Zimu x2= new Zimu(obj);
        Thread thread1 = new Thread(x1);
        Thread thread2 = new Thread(x2);
        thread1.start();
        thread2.start();
    }
}

class Shuzi implements Runnable
{
    private Object obj;
    public Shuzi(Object obj)
    {
        this.obj=obj;
    }
    public void run()
    {
        synchronized(obj)
        {
            for(int i=1;i<53;i++)
            {
                System.out.print(i);
                if(i%2==0)
                {
                    obj.notifyAll();
                    try 
                    {
                    obj.wait();
                    }
                    catch (InterruptedException e)
                    {e.printStackTrace();}
                 }
             }
        }
    }
}

class Zimu implements Runnable
{
    private Object obj;
    public Zimu(Object obj)
    {
        this.obj=obj;
    }
    public void run()
    {
        synchronized(obj)
        {
            for(int i=0;i<26;i++)
                {
                   System.out.print((char)(i+'A'));
                   obj.notifyAll();
                   try 
                  {
                     obj.wait();
                  }
                  catch (InterruptedException e)
                    {e.printStackTrace();}
                }
               
        }
    }
    
}


代码实现了输出
12A34B.....
但在执行的过程中也会出现A12B34...这样的情况。
那么,能否固定一个顺序呢?
搜索更多相关主题的帖子: public Thread Object obj new 
2018-09-14 10:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-489788-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.473440 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved