zoukankan      html  css  js  c++  java
  • 创建线程

    创建Thread的子类

    创建Thread子类的一个实例并重写run方法,run方法会在调用start()方法之后被执行。例子如下:

    public class MyThread extends Thread {
        public void run(){
           System.out.println("MyThread running");
    4    }
    5 }

    可以用如下方式创建并运行上述Thread子类

    1 MyThread myThread = new MyThread();
    2 myTread.start();

    一旦线程启动后start方法就会立即返回,而不会等待到run方法执行完毕才返回。就好像run方法是在另外一个cpu上执行一样。当run方法执行后,将会打印出字符串MyThread running。

    你也可以如下创建一个Thread的匿名子类:

    1 Thread thread = new Thread(){
    2    public void run(){
    3      System.out.println("Thread Running");
    4    }
    5 };
    6 thread.start();

    当新的线程的run方法执行以后,计算机将会打印出字符串”Thread Running”。

    实现Runnable接口

             第二种编写线程执行代码的方式是新建一个实现了java.lang.Runnable接口的类的实例,实例中的方法可以被线程调用。下面给出例子:

    1 public class MyRunnable implements Runnable {
    2    public void run(){
    3     System.out.println("MyRunnable running");
    4    }
    5 }

    为了使线程能够执行run()方法,需要在Thread类的构造函数中传入 MyRunnable的实例对象。示例如下:

    1 Thread thread = new Thread(new MyRunnable());
    2 thread.start();

             当线程运行时,它将会调用实现了Runnable接口的run方法。上例中将会打印出”MyRunnable running”。

    同样,也可以创建一个实现了Runnable接口的匿名类,如下所示:

    1 Runnable myRunnable = new Runnable(){
    2    public void run(){
    3      System.out.println("Runnable running");
    4    }
    5 }
    6 Thread thread = new Thread(myRunnable);
    7 thread.start();
  • 相关阅读:
    java lang(Class)
    java.lang(StringBuffer)
    java.lang(String)
    java.lang包【Object类】
    IIS发布错误
    ASP.NET MVC之视图生成URL
    JQuery性能优化
    ERP联系记录管理(十七)
    C# virtual和abstract的
    ERP联系人查询和修改(十六)
  • 原文地址:https://www.cnblogs.com/bug1024/p/8776532.html
Copyright © 2011-2022 走看看