zoukankan      html  css  js  c++  java
  • 多线程

    Thread类的静态sleep方法将暂停给定的毫秒数。调用Thread.sleep不会创建一个新线程,是Thread的静态方法。

    static void sleep(long millis)

    millis 休眠的毫秒数.

    注意:

    不用调用Thread类或Runnable对象的run方法。直接调用run方法,只会执行同一个线程中的任务,而不会启动新线程。应该调用Thread.start方法。这个方法将创建一个执行run方法的新线程。

    创建新执行线程有两种方法:

    一种方法是将类声明为 Thread 的子类。

    该子类应重写 Thread 类的 run 方法。接下来可以分配并启动该子类的实例。例如,计算大于某一规定值的质数的线程可以写成:

     1 class PrimeThread extends Thread {
     2          long minPrime;
     3          PrimeThread(long minPrime) {
     4              this.minPrime = minPrime;
     5          }
     6  
     7          public void run() {
     8              // compute primes larger than minPrime
     9               . . .
    10          }
    11      }
    12 然后,下列代码会创建并启动一个线程:
    13 
    14      PrimeThread p = new PrimeThread(143);
    15      p.start();

    创建线程的另一种方法是声明实现 Runnable 接口的类。

    该类然后实现 run 方法。然后可以分配该类的实例,在创建 Thread 时作为一个参数来传递并启动。采用这种风格的同一个例子如下所示:

     1 class PrimeRun implements Runnable {
     2          long minPrime;
     3          PrimeRun(long minPrime) {
     4              this.minPrime = minPrime;
     5          }
     6  
     7          public void run() {
     8              // compute primes larger than minPrime
     9               . . .
    10          }
    11      }
    12 然后,下列代码会创建并启动一个线程:
    13 
    14      PrimeRun p = new PrimeRun(143);
    15      new Thread(p).start();
    16 每个线程都有一个标识名,多个线程可以同名。如果线程创建时没有指定标识名,就会为其生成一个新名称。

    从以下版本开始:

    JDK1.0

     

  • 相关阅读:
    Android——继续深造——从安装Android Studio 2.0开始(详)
    PHP——安装wampserver丢失MSVCR110.dll
    Marza Gift for GDC 2016
    Retrieve OpenGL Context from Qt 5.5 on OSX
    Space Time Varying Color Palette
    Screen Space Depth Varying Glow based on Heat Diffusion
    Visualization of Detail Point Set by Local Algebraic Sphere Fitting
    Glass Dragon
    Jump Flood Algorithms for Centroidal Voronoi Tessellation
    京都之行
  • 原文地址:https://www.cnblogs.com/linst/p/5619532.html
Copyright © 2011-2022 走看看