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

     

  • 相关阅读:
    centos7 升级 python3
    宿主机休眠后,虚拟机网络ping不通网关
    给微信群和朋友圈里发长视频的方法
    在word2019中使用latex
    anki2.1中使用latex,使用 MathJax 渲染latex格式的数学公式,化学公式
    如何用GoldWave批量删除mp3文件开头65秒?
    一款 CentOS-7 个性化配置脚本
    算法及算法分析
    博客园markdown使用LaTeX数学公式
    数据结构与算法
  • 原文地址:https://www.cnblogs.com/linst/p/5619532.html
Copyright © 2011-2022 走看看