• 创建线程


    创建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();
  • 相关阅读:
    python D32 管道、线程池
    python D31 守护进程、进程锁、队列
    python D30 进程
    python 30 进程之间的相互独立、进程之间的时间差
    python D30 操作系统历史
    python D29 socketserver以及FTB
    python D28 粘包
    net4.0 task 超时任务代码 用Thread.sleep方式实现
    sql取随机结果集
    【ecshop---新增包邮卡功能】
  • 原文地址:https://www.cnblogs.com/bug1024/p/8776532.html
Copyright © 2020-2023  润新知