JAVA多线程Thread和Runnable的实现

所属分类: 软件编程 / java 阅读数: 75
收藏 0 赞 0 分享

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

更多精彩内容其他人还在看

利用MultipartFile实现文件上传功能

这篇文章主要为大家详细介绍了利用MultipartFile实现文件上传功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java编程实现NBA赛事接口调用实例代码

这篇文章主要介绍了Java编程实现NBA赛事接口调用实例代码,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

Java编程之双重循环打印图形

这篇文章主要介绍了Java编程之双重循环打印图形,属于Java编程基础练习部分,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

java基础学习JVM中GC的算法

这篇文章主要介绍了java基础学习JVM中GC的算法,通过图文加深对GC算法思路的理解。
收藏 0 赞 0 分享

Java编程Post数据请求和接收代码详解

这篇文章主要介绍了Java编程Post数据请求和接收代码详解,涉及enctype的三种编码,post与get等相关内容,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

Retrofit+Rxjava实现文件上传和下载功能

这篇文章主要介绍了Retrofit+Rxjava实现文件上传和下载功能,文中提到了单文件上传和多文件上传及相关参数的请求,需要的朋友参考下吧
收藏 0 赞 0 分享

Retrofit+Rxjava下载文件进度的实现

这篇文章主要介绍了Retrofit+Rxjava下载文件进度的实现,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

java检查服务器的连通两种方法代码分享

这篇文章主要介绍了java检查服务器的连通两种方法代码分享,涉及ping的介绍以及检查服务器连通的两种方法代码示例,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

Java/Android 获取网络重定向文件的真实URL的示例代码

本篇文章主要介绍了Java/Android 获取网络重定向文件的真实URL的示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

java并发编程之同步器代码示例

这篇文章主要介绍了java并发编程之同步器代码示例,分享了相关代码,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享
查看更多