• 多线程-方式二实现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();
        }
    }
  • 相关阅读:
    搜索栏+collectionView实现
    iOS密码框实现(二)取消确定按钮
    MotionManager 陀螺仪实现方式
    ubuntu常用命令
    Ubuntu 启用root账户
    How to solve “sudo: /etc/sudoers.d is world writable”
    ubuntu進入dos界面的方法
    炫耀一下hadoop學習成果
    fpdf使用標楷體
    win8磁盘占用100%的12种解决办法
  • 原文地址:https://www.cnblogs.com/lixia0604/p/13433981.html
Copyright © 2020-2023  润新知