zoukankan      html  css  js  c++  java
  • 多线程-方式二实现Runnable接口方式

    方式二:实现Runnable接口的方式:
    * 1. 创建一个实现了Runnable接口的类
    * 2. 实现类去实现Runnable中的抽象方法:run()
    * 3. 创建实现类的对象
    * 4. 将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象
    * 5. 通过Thread类的对象调用start()。(start()1.启动当前线程2.调用当前线程的run方法)

    继承Thread实现Runnable接口的对比:
    * 开发中:优先选择:实现Runnable接口的方式
    * 原因:1. 实现的方式没类的单继承性的局限性
    * 2. 实现的方式更适合来处理多个线程共享数据的情况。
    *
    * 联系:public class Thread implements Runnable
    * 相同点:两种方式都需要重写run(),将线程要执行的逻辑声明在run()中。
    目前两种方式,要想启动线程,都是调用的Thread类中的start()。

    (数据共享时线程存在安全问题)

    package main.java.ThreadImplements;
    
    /**
     * @Author lx
     * @Description:创建多线程----实现Runable接口方式
     * @Date 14:28 2020/8/4
     * @Version
     */
    class RunnableTest implements Runnable{
    
        private int ticket = 100;
        @Override
        public void run() {
           while (true){
               if (ticket>0){
                   System.out.println("当前窗口为"+Thread.currentThread().getName()+"票数:" +ticket);
                    ticket--;
    
               }else {
                   break;
               }
    
            }
        }
    }
    
    public class ThreadRunnable {
        public static void main(String[] args) {
            RunnableTest runnableTest = new RunnableTest();
            Thread thread = new Thread(runnableTest);
            Thread thread1 =new Thread(runnableTest);
            Thread thread2 =new Thread(runnableTest);
            thread.start();
            thread1.start();
            thread2.start();
        }
    }
  • 相关阅读:
    封装tip控件
    Javascirpt中创建对象的几种方式
    使用Servlet上传文件
    Struts2 基本配置
    使用JQuery实现手风琴布局
    winform下自绘提示框风格窗体
    环形进度条
    Oracle中获取当前时间半小时前的时间
    JSTL+MyEclipse8.5+Tomcat配置
    使用CSS和jQuery实现对话框
  • 原文地址:https://www.cnblogs.com/lixia0604/p/13433981.html
Copyright © 2011-2022 走看看