zoukankan      html  css  js  c++  java
  • 线程编程的两种方法

    写一个类,继承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(){
    
        }
    });
  • 相关阅读:
    网页的状态掩码
    分享到JavaScript
    右下角收缩广告
    播放列表的收缩展开
    创建文本节点createTextNode
    创建元素节点createElement
    进栈和出栈
    刚刚上班才回来,今天和你说说hash数组
    关于JS中的定时器!!!
    面向对象(程序员最呆的地方,一切皆是对象)
  • 原文地址:https://www.cnblogs.com/yuyu666/p/9733738.html
Copyright © 2011-2022 走看看