• 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--);
                }
            }        
        }    
    }
  • 相关阅读:
    指针细说
    C++编码规范101
    关于C标准
    Bjarne Stroustrup语录2
    Bjarne Stroustrup 语录1
    计算机网络基础识别
    ssh
    matplotlib画图
    数据分析之Numpy
    数据分析
  • 原文地址:https://www.cnblogs.com/changshuo/p/3286257.html
Copyright © 2020-2023  润新知