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();
  • 相关阅读:
    二分查找 找到了返回位置 没找到返回应该插入的位置
    前端知识结构
    RequireJS
    Java内部类——成员内部类
    Java笔记
    Java单例模式
    Java与C#的语法区别(不断更新中...)
    进制转换
    查找算法——折半查找
    排序算法——冒泡排序
  • 原文地址:https://www.cnblogs.com/bug1024/p/8776532.html
Copyright © 2011-2022 走看看