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();

  • 相关阅读:
    【Oracle】权限
    【Oracle】利用trace文件重建控制文件
    【Oracle】创建概要文件
    【Oracle】创建角色
    【Oracle】创建用户
    【Oracle】glogin.sql脚本模板
    夺命雷公狗---DEDECMS----1dedecms的安装过程
    夺命雷公狗---微信开发63----微信开发总结篇
    夺命雷公狗---微信开发62----所以memcache对access_token进行全局缓存优化
    夺命雷公狗---微信开发61----在线点播电影网2之电影网之个人中心
  • 原文地址:https://www.cnblogs.com/1997WY/p/10707330.html
Copyright © 2011-2022 走看看