前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java多线程-通过实现 Runnable 接口来创建线程

Java多线程-通过实现 Runnable 接口来创建线程

作者头像
joshua317
发布2021-10-26 11:21:07
5160
发布2021-10-26 11:21:07
举报
文章被收录于专栏:技术博文技术博文

创建一个线程,最简单的方法是创建一个实现 Runnable 接口的类。

为了实现 Runnable,一个类只需要执行一个方法调用 run(),声明如下:

代码语言:javascript
复制
public void run()

你可以重写该方法,重要的是理解的 run() 可以调用其他方法,使用其他类,并声明变量,就像主线程一样。

在创建一个实现 Runnable 接口的类之后,你可以在类中实例化一个线程对象。

Thread 定义了几个构造方法,下面的这个是我们经常使用的:

代码语言:javascript
复制
Thread(Runnable threadOb,String threadName);

这里,threadOb 是一个实现 Runnable 接口的类的实例,并且 threadName 指定新线程的名字。

新线程创建之后,你调用它的 start() 方法它才会运行。

代码语言:javascript
复制
void start();
代码语言:javascript
复制
package com.joshua317;

public class Main {

    public static void main(String[] args) {
        for (int i = 1; i <= 2; i++) {
            RunnableDemo R1 = new RunnableDemo( "Thread-" + i);
            R1.start();
        }

    }
}

class RunnableDemo implements Runnable {
    private String threadName;
    private Thread t;

    RunnableDemo(String name){
        threadName = name;
        System.out.println("创建线程:" + threadName );
    }

    @Override
    public void run() {
        System.out.println("运行线程:" + threadName);
        try {
            for(int i = 3; i > 0; i--) {
                System.out.println("Thread: " + threadName + ", " + i);
                // 让线程睡眠一会
                Thread.sleep(50);
            }
        } catch (InterruptedException  e) {
            System.out.println("Thread " +  threadName + " interrupted.");
        }
        System.out.println("Thread " +  threadName + " exiting.");
    }

    public void start() {
        System.out.println("开始线程:" + threadName );
        if (t == null) {
            t = new Thread (this, threadName);
            t.start ();
        }
    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-10-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档