`
zkgale
  • 浏览: 100056 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

关于java线程的一个问题

阅读更多
最近在写一个程序.其中就遇到了这样一个问题.我希望实现两个或多个线程,而这些线程的顺序是

Thread[Thread-2,5,main]
----a----     <这是线程2调用b时打印出的>
Thread[Thread-3,5,main]
----a----     <这是线程3调用b时打印出的>

上面的顺序是我所希望的...但往往会是这样的结果:
Thread[Thread-2,5,main]
Thread[Thread-3,5,main]
----a----
----a----
因此会使我的程序出现错误.我知道这是因为线程的原因造成的
我只是想看那们前辈有没有什么好的方法,能够解决这样的问题

以下是实例代码

class a
{
    public synchronized void b()
    {
        System.out.println("----a----");
    }
    class c extends Thread
    {
        public void run()
        {
            System.out.println(this);
            b()
        }
    }
}


分享到:
评论
4 楼 Eastsun 2007-06-24  
我的意思是这样的:
class a   
{   
    public void b()   
    {   
        System.out.println("----a----");   
    }   
    class c extends Thread   
    {   
        public void run()   
        {   
            synchronized(a.this){
                System.out.println(this);   
                b();   
            }
        }   
    }   
} 
3 楼 Eastsun 2007-06-24  
zkgale 写道
先谢谢Eastsun哈,我试过这样的方法,但是不行呀...
最后我用了一种最笨的方法
try {
    Thread.sleep(200);
    } catch (InterruptedException e) {
        e.printStackTrace();
	}

虽然这样很有用,但是不知道这对以后会有什么样的影响....



恩,我这个程序是写一个游戏了啦,就是那种弹珠,下面有下横杠那种,我希望能实现的就是可以同时出现多个球运动.....

你试过?你怎么使的?
2 楼 zkgale 2007-06-24  
先谢谢Eastsun哈,我试过这样的方法,但是不行呀...
最后我用了一种最笨的方法
try {
    Thread.sleep(200);
    } catch (InterruptedException e) {
        e.printStackTrace();
	}

虽然这样很有用,但是不知道这对以后会有什么样的影响....



恩,我这个程序是写一个游戏了啦,就是那种弹珠,下面有下横杠那种,我希望能实现的就是可以同时出现多个球运动.....
1 楼 Eastsun 2007-06-24  
把System.out.println(this);  
与b() 的调用 
使用同一个同步锁.

相关推荐

    Java线程讲解Java线程讲解

    Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解Java线程讲解

    线程 JAVA java线程 java线程第3版 java线程第2版第3版合集

    电子书相关:包含4个有关JAVA线程的电子书(几乎涵盖全部有关线程的书籍) OReilly.Java.Threads.3rd.Edition.Sep.2004.eBook-DDU Java Thread Programming (Sams) java线程第二版中英文 java线程第二版中英文 ...

    Java线程详解大全

    Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程Java线程

    java多线程编程总结

    Java线程:概念与原理 Java线程:创建与启动 Java线程:线程栈模型与线程的变量 Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调度-休眠 Java线程:线程的调度-优先级 ...

    Java线程Java线程Java线程Java线程

    Java线程Java线程Java线程Java线程Java线程Java线程

    java多线程笔记

    Java线程:概念与原理 2 一、操作系统中线程和进程的概念 2 二、Java中的线程 3 三、Java中关于线程的名词解释 3 四、线程的状态转换和生命周期 4 Java线程:创建与启动 7 Java线程:线程名称的设定及获取 10 Java...

    Java多线程编程总结

    Java线程:概念与原理 Java线程:创建与启动 Java线程:线程栈模型与线程的变量 Java线程:线程状态的转换 Java线程:线程的同步与锁 Java线程:线程的交互 Java线程:线程的调度-休眠 Java线程:线程的调度-...

    java 线程java 线程

    java 线程java 线程java 线程java 线程java 线程java 线程java 线程java 线程java 线程

    java 线程 dump 分析工具 2.3.3

    Java的TDA线程转储分析器是一个用于分析Sun Java VM生成的线程转储和堆信息的小型Swing GUI(目前用1.4测试)。它从提供的日志文件中解析线程转储和类直方图。它提供关于发现的线程转储的统计信息,提供关于锁定监视器...

    Java的线程和Java AppletJava的线程和Java AppletJava的线程和Java Applet

    Java的线程和Java AppletJava的线程和Java AppletJava的线程和Java AppletJava的线程和Java AppletJava的线程和Java Applet

    Java线程模块Java线程之秒表

    Java线程模块Java线程之秒表新手学习Java线程模块时,利用Java中设置线程的暂停间隔,做的简易秒表

    java线程同步java线程同步

    java线程同步java线程同步java线程同步

    java线程 线程学习资料 java线程教程

    java线程 线程 教程 java线程教程 java线程学习资料 本教程有什么内容? 本教程研究了线程的基础知识— 线程是什么、线程为什么有用以及怎么开始编写使用线程的简单 程序。 我们还将研究更复杂的、使用线程的应用...

    Java 模拟线程并发

    Java 模拟线程并发 Java, 模拟线程并发,线程,并发 Java, 模拟线程并发,线程,并发 Java, 模拟线程并发,线程,并发 Java, 模拟线程并发,线程,并发

    Java多线程设计模式上传文件

    Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式上传文件Java多线程设计模式...

    java线程.pdf

    java线程.pdf java 学习java

    java 多线程:哲学家思考问题

    java 多线程 哲学家思考问题 java 多线程 哲学家思考问题 ...java 多线程 哲学家思考问题java 多线程 哲学家思考问题java 多线程 哲学家思考问题java 多线程 哲学家思考问题 java 多线程 哲学家思考问题

    Java线程.ppt

    这是一个关于Java线程的ppt文件,燕山大学信息学院计算机系 李 峰

    java多线程读取文件

    Java多线程读大文件 java多线程写文件:多线程往队列中写入数据

    java多线程每个线程挨着打印ABC的4种实现方式

    一个线程可以理解为一个人,打印字母可以理解为走路 张三走一步然后李四走一步。。。所有人走完第一步后,又从张三开始走下一步。 里面一共有4中实现方式,实现线程间同步和通信问题,有synchronized实现也有...

Global site tag (gtag.js) - Google Analytics