• 线程编程的两种方法


    写一个类,继承Thread类,覆盖Thread类中继承来的run()方法,这样就写好了自定义的线程类。

    继承java.lang.Thread类:

    
        class MyThread extends Thread{
    
            public void run(){        
           //覆盖run(),线程体方法,自身其实就是普通的方法
    
                .......
    
            }
    
        }
    

    启动线程:

    
        public class TestThread{
    
            public static void main(){
    
                Thread t1=new Mythread();
    
                T1.start();        
               //调用start()来启动线程,线程启动方法,向线程调度器说明当前线程已经准备好了,是一种可运行状态
    
            }
    
        }
    

    写一个类,实现Runable接口,实现其中的run()方法。这种方法写好的类的对象需要作为线程类创建对象时构造方法的参数。

    实现java.lang.Runnable接口:

    
        Class MyThread  implements Runnable{
    
            public void run(){
    
            }
    
        }
    

    启动线程:

    
        public class TestThread{
    
            public static void main(){
    
                Runnable myThread = new MyThread();
    
                Thread t = new Thread(myThread);
    
                t.start();
    
            }
    
        }
    

    从java5开始,还有如下一些线程池创建多线程的方式:

    
    ExecutorService pool = Executors.newFixedThreadPool(3)
    
    for(int i=0;i<10;i++){
    
      pool.execute(new Runable(){
        public void run(){
    
        }
      });
    
    }
    
    Executors.newCachedThreadPool().execute(new Runable(){
        public void run(){
    
        }
    });
    
    Executors.newSingleThreadExecutor().execute(new Runable(){
        public void run(){
    
        }
    });
  • 相关阅读:
    NSSM 将jar 安装成windows服务
    Spark Streaming
    记录一次oracle的坑 ORA08103
    POJ 3669 Meteor Shower
    LeetCode题目1~3
    POJ 3723 Conscription 并查集 + Kruskal
    LeetCode题目4:Sort List
    C++实现的快速排序
    C++实现的一段希尔排序代码
    2014大众点评Hackathon参赛感想
  • 原文地址:https://www.cnblogs.com/yuyu666/p/9733738.html
Copyright © 2020-2023  润新知