线程编程的两种方法

写一个类,继承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(){

    }
});

原文地址:https://www.cnblogs.com/yuyu666/p/9733738.html

时间: 2024-10-10 20:44:46

线程编程的两种方法的相关文章

ListView动态加载数据分页(使用Handler+线程和AsyncTask两种方法)

ListView动态加载数据分页(使用Handler+线程和AsyncTask两种方法)

设置Weblogic的线程数有两种方法

使用Weblogic版本:Weblogic 11g(10.3.6) 设置Weblogic的线程数有两种方法, 第一种,通过启动参数设置: 1 -Dweblogic.threadpool.MinPoolSize=1000 -Dweblogic.threadpool.MaxPoolSize=1000 可以加在setDomainEnv.sh文件JAVA_OPTIONS下面: 第二种,通过config.xml配置文件: 1 2 3 4 5 <server> <name>AdminServe

java_线程创建的两种方法

线程创建的方法有两种: 一 继承Thread类: public class ThreadTest { public static void main(String[] args) { //4)在main方法中创建线程对象 Thread01 thread01 = new Thread01(); //5)调用Thread的start方法启动线程并执行线程 thread01.start(); } } //1)创建一个类继承Thread类 class Thread01 extends Thread{ /

java 实现线程的其中两种方法总结

方法一:Runnable接口:模式为静态代理,代理方为Thread(方便数据共享) classl  mary implements Runnable{ //线程体 public void run(){ } } 使用 new Thread(new mary()).start();启动线程 方法二:继承Thread class mary extends Thread{ public void run(){/*线程体*/} } 使用new mary().start();启动线程

线程 实现的两种方法

1 package thread; 2 3 public class MyRunnable implements Runnable { 4 5 private int i = 1; 6 7 @Override 8 public void run() { 9 10 for (i = 1; i <= 100; i++) { 11 System.out.println(Thread.currentThread().getName() + " " + i);// 获取当前运行的线程名称

(转)java创建线程的两种方法比较

Java提供了线程类Thread来创建多线程的程序.其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象.每个Thread对象描述了一个单独的线程.要产生一个线程,有两种方法: ◆需要从Java.lang.Thread类派生一个新的线程类,重载它的run()方法:  ◆实现Runnalbe接口,重载Runnalbe接口中的run()方法. 为什么Java要提供两种方法来创建线程呢?它们都有哪些区别?相比而言,哪一种方法更好呢? 在Java中,类仅支持单继承

Java 创建线程的两种方法

Java提供了线程类Thread来创建多线程的程序.其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象.每个Thread对象描述了一个单独的线程.要产生一个线程,有两种方法: ◆需要从Java.lang.Thread类派生一个新的线程类,重载它的run()方法: ◆实现Runnalbe接口,重载Runnalbe接口中的run()方法. 为什么Java要提供两种方法来创建线程呢?它们都有哪些区别?相比而言,哪一种方法更好呢? 在Java中,类仅支持单继承,

启动线程的两种方法的对比

java中Thread类有两种启动方法: 1.Thread.start() 2.Thread.run() 这两种方法的执行效果并不一样.Thread.start()方法是通知"线程规划器"此线程已经准备就绪,等待调用线程对象run()方法,是异步的执行结果. Thread.run()方法则是同步的,并不交给"线程规划器"来处理,而是由调用此线程的线程直接调用线程的run()方法,必须等run()方法中的代码执行完以后才能执行后面的代码 另外,执行start()方法的

JavaScript强化教程——DOM编程(两种控制div移动的方法)

本文为H5EDU机构官方HTML5培训教程,主要介绍:JavaScript强化教程--DOM编程(两种控制div移动的方法) 第一种 按钮控制首先 创建两个html按钮和一个div并给div一个样式 input type="button" value="左" id="1"> <input type="button" value="右" id="2"> <div i