当前位置:  编程技术>java/j2ee

JAVA多线程Thread和Runnable的实现

    来源: 互联网  发布时间:2014-10-23

    本文导语:  java中只允许单一继承,但允许实现多个接口,因此第二种方法更灵活。 代码如下:/**     * 运行继承java.lang.Thread类定义的线程     */    public void startOne() {        // 创建实例        OneThread oneThread = new OneThread();  ...

java中只允许单一继承,但允许实现多个接口,因此第二种方法更灵活。

代码如下:

/**
     * 运行继承java.lang.Thread类定义的线程
     */
    public void startOne() {
        // 创建实例
        OneThread oneThread = new OneThread();
        // 启动线程ThreadA
        oneThread.startThreadA();
        try {
            // 设置线程休眠1秒
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        // 停止线程,此处为什么不用stop()方法,因为该方法已经废弃,但可以用在死锁。
        oneThread.stopThreadA();
    }

代码如下:

/**
     * 运行实现Runnable接口定义的线程
     */
    public void startTwo() {
        // 创建实例
        Runnable runnable = new TwoThread();
        // 将实例放入到线程中
        Thread threadB = new Thread(runnable);
        // 启动线程
        threadB.start();
    }

代码如下:

// 继承Thread类定义线程
class OneThread extends Thread {
    private boolean running = false;

    public void start() {
        this.running = true;
        super.start();
    }
    public void run() {
        int i = 0;
        try {
            while (running) {
                System.out.println("继承Thread类定义线程程序体......" + i++);
                Thread.sleep(200);
            }
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    public void startThreadA() {
        System.out.println("启动继承Thread类定义线程");
        this.start();
    }
    public void stopThreadA() {
        System.out.println("关闭继承Thread类定义线程");
        this.running = false;
    }
}

代码如下:

// 实现Runnable接口定义线程
class TwoThread implements Runnable {
    private Date runDate;

    public void run() {
        System.out.println("实现Runnable接口定义线程程序体......");
        this.runDate = new Date();
        System.out.println("线程启动时间......" + runDate);
    }

代码如下:

public static void main(String[] args) {
        // 实例化对象
        ThreadStartAndStop threadStartAndStop = new ThreadStartAndStop();
        threadStartAndStop.startOne();
        threadStartAndStop.startTwo();
    }

 启动继承Thread类定义线程
继承Thread类定义线程程序体......0
继承Thread类定义线程程序体......1
继承Thread类定义线程程序体......2
继承Thread类定义线程程序体......3
继承Thread类定义线程程序体......4
关闭继承Thread类定义线程
实现Runnable接口定义线程程序体......
线程启动时间......Fri Mar 15 12:56:57 CST 2013


    
 
 

您可能感兴趣的文章:

  • Java中多线程相关类Thread介绍
  • java 线程,对当前线程(非主线程)调用sleep,为什么主线程(窗口)也没反应了
  • 输出java进程的jstack信息示例分享 通过线程堆栈信息分析java线程
  • java基本教程之多线程基本概念 java多线程教程
  • 请问在java多线程中,是只有run(){}内的代码运行在一个新线程下呢?还是这个类中的代码都运行在一个新线程下?
  • 用什么方法可以查看在windows下jvm下运行当前java程序的线程数和线程名称?
  • java多线程编程之捕获子线程异常示例
  • java线程怎么调用java的application.class?
  • java多线程编程之使用runnable接口创建线程
  • java线程中如何降低CPU的占用率?我这几个线程会不会死锁?
  • java线程之使用Runnable接口创建线程的方法
  • java 多线程问题
  • Java线程的相关方法详细解析
  • 紧急求助java多线程编程!!!!!!!!!!!!!
  • java线程,回答得比较深就好了
  • Java多线程之中断线程(Interrupt)的使用详解
  • 关于java线程调度优先级
  • java基本教程之线程让步 java多线程教程
  • Java多线程单元测试 Thread Weaver
  • 求教JAVA中的延时函数!不是用于线程中的!
  • java中多线程的问题
  • java命名空间java.awt.event类invocationevent的类成员方法: runnable定义及介绍
  • java里有没有象vc里的sleep(1000)一样的功能的东西 当然不是实现Runnable不是继承线程类
  • java命名空间java.lang枚举thread.state的类成员方法: runnable定义及介绍
  • java命名空间java.lang接口runnable的类成员方法: run定义及介绍
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 使用java jdk中的LinkedHashMap实现简单的LRU算法
  • java.util.Date 和 java.slq.Date 如何最简单实现互换?
  • java tomcat实现Session对象的持久化原理及配置方法介绍
  • 不太明白,利用RMI实现JAVA分布式应用 和 EJB实现JAVA分布式应用有什么区别。
  • java实现判断字符串是否全是数字的四种方法代码举例
  • java的API中有没有既实现了Map接口又实现了List接口的类?
  • java序列化实现Serializable接口
  • 我是java新手,请问java中与平台相关的操作是怎样实现的
  • java中Spring框架介绍及如何实现对Bean的管理
  • java文件复制代码片断(java实现文件拷贝)
  • java Servlet实现Session创建存取以及url重写代码示例
  • 要做一个在applet,实现可以托拽的图形(比如长方形和线段等)?那位高手有资料?或者有没有java的第三方类库实现此功能?
  • java 与 C++ 实现后绑定的方法
  • XUL的Java实现 javaXUL
  • 用JAVA实现与QQ相同的功能!
  • 请问《软件工程java语言实现》一书在那里能下载
  • 如何实现Java下的回调函数!
  • Java实现的XForms Chiba
  • Java的SAMBA客户端实现 jCIFS
  • Lua 实现的 Java 虚拟机 luje
  • yaml 的 java 实现 JYaml
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3