zoukankan      html  css  js  c++  java
  • 多线程----Runnable接口

    创建线程方式—实现Runnable接口

    创建线程的另一种方法是声明实现 Runnable 接口的类。该类然后实现 run 方法。

    然后创建Runnable的子类对象,传入到某个线程的构造方法中,开启线程。

     

    线程步骤

    1、定义类实现Runnable接口。

    2、覆盖接口中的run方法。。

    3、创建Thread类的对象

    4、将Runnable接口的子类对象作为参数传递给Thread类的构造函数。

    5、调用Thread类的start方法开启线程。

     

    实例

    public class Demo02 {

        public static void main(String[] args) {

            //创建线程执行目标类对象

            Runnable runn = new MyRunnable();

            //将Runnable接口的子类对象作为参数传递给Thread类的构造函数

            Thread thread = new Thread(runn);

            Thread thread2 = new Thread(runn);

            //开启线程

             thread.start();

            thread2.start();

            for (int i = 0; i < 10; i++) {

               System.out.println("main线程:正在执行!"+i);

            }

        }

    }

    l  自定义线程执行任务类

    public class MyRunnable implements Runnable{

     

        //定义线程要执行的run方法逻辑

        @Override

        public void run() {

           

            for (int i = 0; i < 10; i++) {

               System.out.println("我的线程:正在执行!"+i);

            }

        }

    }

     

     实现Runnable的好处

    实现Runnable接口的方式,更加的符合面向对象,

    线程分为两部分,一部分线程对象,一部分线程任务。

    线程内部类使用

    l  方式1:创建线程对象时,直接重写Thread类中的run方法

            new Thread() {

               publicvoid run() {

                   for (int x = 0; x < 40; x++) {

                       System.out.println(Thread.currentThread().getName()

                               + "...X...." + x);

                   }

               }

            }.start();

     

    l  方式2:使用匿名内部类的方式实现Runnable接口,重新Runnable接口中的run方法

            Runnable r = new Runnable() {

               publicvoid run() {

                   for (int x = 0; x < 40; x++) {

                       System.out.println(Thread.currentThread().getName()

                               + "...Y...." + x);

                   }

               }

            };

            new Thread(r).start();

  • 相关阅读:
    绍一集训Round#2
    CF 799B T-shirt buying
    Luogu P2827 蚯蚓
    Luogu P4053 [JSOI2007]建筑抢修
    【LGR-049】洛谷7月月赛
    浅谈可持久化数据结构
    CF 888E Maximum Subsequence
    在平衡树的海洋中畅游(三)——Splay
    浅谈单调栈/队列
    CF 859E Desk Disorder
  • 原文地址:https://www.cnblogs.com/1997WY/p/10707330.html
Copyright © 2011-2022 走看看