zoukankan      html  css  js  c++  java
  • java 多线程小记

    /*java里面实现多线程一般有两种方式
     * 1,继承Thread类,实现run方法
     * 2,实现Runnable接口,实现run方法
     * start方法可以新建一个线程,创建多线程必须调用此方法
     * run方法用于存放要多线程要运行的代码
     * */
    public class ThreadDemo {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            TicketT t1=new TicketT();
            TicketT t2=new TicketT();
            TicketT t3=new TicketT();
            TicketT t4=new TicketT();
            t1.start();//新建线程1
            t2.start();//线程2
            t3.start();//线程3
            t4.start();//线程4
            TickR r1=new TickR();
            Thread t5=new Thread(r1);//将实现runable接口的类作为参数传递
            t5.start();//新建线程,start中调用的是参数r1的run方法
        }
    
        
    }
    
    /**继承Thread类,实现run方法,调用start()创建线程
     * @author Changshuo
     */
    class TicketT extends Thread
    {
        private static int tick=100;
        @Override
        public void run() {
            while (true) {
                if (tick>0) {
                    System.out.println(Thread.currentThread().getName()+"....卖:"+tick--);
                }
            }
        }
    }
    /**
     * 1,实现Runnable接口, 
     * 2,实现接口的run方法,将线程要运行的方法存放在run方法中
     * 3,建立Thread类的线程对象,把接口的子类对象传递给Thread的构造函数
     * 4,调用Thread类的start()开启线程,并调用Runnable的run方法
     * @author Changshuo
     *
     */
    class TickR implements Runnable
    {
        private int tick=100;
        @Override
        public void run() {
            while (true) {
                if (tick>0) {
                    System.out.println(Thread.currentThread().getName()+"....卖:"+tick--);
                }
            }        
        }    
    }
  • 相关阅读:
    【Angular2】ng2的开始_组件
    【js框架】随笔
    【sublime text3】个性化定制
    PLSQL中文乱码问题
    Microsoft office 2010密钥
    node_oracle连接
    oracle安装配置
    Logging in Java
    Java 基础
    Hibernate
  • 原文地址:https://www.cnblogs.com/changshuo/p/3286257.html
Copyright © 2011-2022 走看看