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();
  • 相关阅读:
    spring mvc配置完后实现下载功能
    表单中Readonly和Disabled的区别(转载)
    EL表达式中fn函数 (转载)
    Spring mvc中@RequestMapping 6个基本用法小结(转载)
    web开发,关于jsp的常见问题,重复提交,防止后退。
    JQuery页面加载
    解决 spring mvc 3.0 结合 hibernate3.2 使用<tx:annotation-driven>声明式事务无法提交的问题(转载)
    数据库设计原则(转载)
    dhtmlxTree介绍(转载)
    主键索引
  • 原文地址:https://www.cnblogs.com/bug1024/p/8776532.html
Copyright © 2011-2022 走看看