zoukankan      html  css  js  c++  java
  • Java多线程-通过实现 Runnable 接口来创建线程

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

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

    public void run()

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

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

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

    Thread(Runnable threadOb,String threadName);

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

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

    void start();
    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 ();
            }
        }
    }

  • 相关阅读:
    ruby之gem update --system 失败
    免费的视频资源
    java的数据类型
    函数parseQuery用于解析url查询参数
    使用闭包的方式实现一个累加函数 addNum
    正则表达式之捕获重用
    JavaScript正则表达式练习
    JavaScript的数组和字符串应用
    Sublime Text3.0的安装
    Oracle的集合运算符
  • 原文地址:https://www.cnblogs.com/joshua317/p/15437943.html
Copyright © 2011-2022 走看看