精华内容
下载资源
问答
  • Java线程暂停

    千次阅读 2008-02-25 10:03:00
    Thread.sleep causes the current thread to suspend execution for a specified period.Thread.sleep(1000) 使当前的线程暂停执行一段时间;SUN的实例(修改): /**//* * Test.java * * Created on 2008年2月...

     

    Thread.sleep causes the current thread to suspend execution for a specified period.

    Thread.sleep(1000) 使当前的线程暂停执行一段时间;

    SUN的实例(修改):

     

    /*
     * Test.java
     *
     * Created on 2008年2月25日, 上午9:57
     *
     * To change this template, choose Tools | Template Manager
     * and open the template in the editor.
     
    */


    /**
     *
     * 
    @author rulinma
     
    */

    public class Test {
        
        
    /** Creates a new instance of Test */
        
    public Test() {
        }

        
        
    public static void main(String args[]) throws InterruptedException {
            String importantInfo[] 
    = {
                
    "Mares eat oats",
                
    "Does eat oats",
                
    "Little lambs eat ivy",
                
    "A kid will eat ivy too"
            }
    ;
            
            
    long beingTime = System.currentTimeMillis();
            
            
    for (int i = 0; i < importantInfo.length; i++{
                
    //Pause for 4 seconds
                Thread.sleep(4000);
                
    //Print a message
                System.out.println(importantInfo[i]);
                System.out.println(System.currentTimeMillis() 
    - beingTime);
            }

        }


    }

     运行测试结果:

    init:
    deps-jar:
    compile-single:
    run-single:
    Mares eat oats
    4000
    Does eat oats
    8000
    Little lambs eat ivy
    12000
    A kid will eat ivy too
    16000
    生成成功(总时间:16 秒)

    展开全文
  • Java 线程暂停与继续

    2015-09-20 22:32:03
    Java 线程暂停与继续
    http://blog.csdn.net/sdojqy1122/article/details/7256531
    
    展开全文
  • 本节将介绍一下让线程暂停运行的方法。线程Thread 类中的sleep 方法能够暂停线程运行,Sleep 也就是“休眠”的意思。sleep 方法是Thread 类的静态方法。下面这条语句可以将当前的线程(执行这条语句的线程)暂停约1000...

    Java多线程之线程的暂停

    下面该稍微休息一下了呢……不过,这里说的是线程休息,不是我们哦。本节将介绍一下让线程暂停运行的方法。

    线程Thread 类中的sleep 方法能够暂停线程运行,Sleep 也就是“休眠”的意思。sleep 方法是Thread 类的静态方法。

    下面这条语句可以将当前的线程(执行这条语句的线程)暂停约1000 毫秒(约1 秒)。

    Thread.sleep(1000);

    如下代码会输出10 次Good! 字符串,而每输出1 次,线程就暂停约1000 毫秒(约1 秒)。也就是每隔约1 秒就输出1 次Good! 字符串

    每隔约1 秒输出1 次Good !的程序(Main.java)

    public class Main {

    public static void main(String[] args) {

    for (int i = 0; i < 10; i++) {

    System.out.println("Good!");

    try {

    Thread.sleep(1000);

    } catch (InterruptedException e) {

    e.printStackTrace();

    }

    }

    }

    }

    sleep 方法的调用放在了try...catch 中, 这是因为,sleep 方法有可能会抛出InterruptedException 异常。InterruptedException 异常能够取消线程的处理。

    在实际程序中,sleep 的使用频率并没有这么高。最多也就是在设计一定时间后自动关闭的对话框,或把按钮按下瞬间的状态显示给用户看时才会用到。

    在sleep 方法中,停止时间也可以指定到纳秒(10-9 秒)单位,语法如下。

    Thread.sleep( 毫秒, 纳秒);

    不过,通常情况下Java 平台运行环境无法实现这么精确的控制。具体的精确程度依Java 平台运行环境而不同。

    如何唤醒呢:

    如果要中途唤醒被Thread.sleep 休眠的线程,则可以使用interrupt 方法。

    参考:图解Java多线程设计模式

    展开全文
  • 突然碰到一个问题,线程暂停与继续,我想了想,去使用JDK给我们提供的suspend方法、interrupt方法??suspend()方法让这个线程与主线程都暂停了,谁来唤醒他们??明显这个不好用,要用的话,恐怕得另写唤醒线程了...

    突然碰到一个问题,线程的暂停与继续,我想了想,去使用JDK给我们提供的suspend方法、interrupt方法??suspend()方法让这个线程与主线程都暂停了,谁来唤醒他们??明显这个不好用,要用的话,恐怕得另写唤醒线程了!interrupt方法,这个方法实际上只能中断当前线程!汗!

    既然JDK解决不了偶的问题,偶只能自己写了!

    这个时候想到了Object的wait()和notifyAll()方法。使用这两个方法让线程暂停,并且还能恢复,我只需要封装一下,就能够变成非常之好用的代码了!如下请看:

    我新建Thread类继承MyThread只需实现runPersonelLogic()即可跑你自己的逻辑啦!!!

    另外调用setSuspend(true)是当前线程暂停/

    等待,调用setSuspend(false)让当前线程恢复/唤醒!自我感觉很好使!

    [java] view plaincopy

    public abstract class MyThread extends Thread {

    private boolean suspend =

    false;

    private String control =

    ""; // 只是需要一个对象而已,这个对象没有实际意义

    public void

    setSuspend(boolean suspend) {

    if (!suspend) {

    synchronized (control) {

    control.notifyAll();

    }

    }

    this.suspend = suspend;

    }

    public boolean isSuspend()

    {

    return this.suspend;

    }

    public void run() {

    while (true) {

    synchronized (control) {

    if (suspend) {

    try {

    control.wait();

    } catch (InterruptedException e) {

    e.printStackTrace();

    }

    }

    }

    this.runPersonelLogic();

    }

    }

    protected abstract void

    runPersonelLogic();

    public static void

    main(String[] args) throws Exception {

    MyThread myThread = new MyThread() {

    protected

    void runPersonelLogic() {

    System.out.println("myThead

    is running");

    }

    };

    myThread.start();

    Thread.sleep(3000);

    myThread.setSuspend(true);

    System.out.println("myThread has stopped");

    Thread.sleep(3000);

    myThread.setSuspend(false);

    }

    }

    展开全文
  • 展开全部JAVA线程开始有start方法,暂停用sleep(time)方法,线程停止用stop方法,线程等待wait方法,java 中没有线程重启一说,只能说线62616964757a686964616fe59b9ee7ad9431333365633864程唤醒notifyAll()或是...
  • Android项目中的一个需求:通过线程读取文件内容,并且可以控制线程的开始、暂停、继续,来控制读文件。在此记录下。直接在主线程中,通过wait、notify、notifyAll去控制读文件的线程(子线程),报错:java.lang....
  • 我们可以让没有数据的时候暂停这个线程,当有数据进来的时候再通知线程运行,如果线程吧数据又都处理完了再让线程暂停。这个方法功能有点像消费者,处理一个缓冲区,处理完之后阻塞,等待新数据。例如利用...
  • JDK1.0定义了stop和suspend方法,stop用来直接终止线程,suspend会阻塞线程直到另一个线程调用resume.stop和suspend都有一些共同的点:都...网上有很多关于Java线程停止、暂停的文章,经过自己测试,在这里总结一下。...
  • Android项目中的一个需求:通过线程读取文件内容,并且可以控制线程的开始、暂停、继续,来控制读文件。在此记录下。直接在主线程中,通过wait、notify、notifyAll去控制读文件的线程(子线程),报错:java.lang....
  • public void run() {while(true){someWork();if(finished){break;}try {Thread.sleep(10000);...}}}我们可以在while死循环内,每次循环时,察看外部条件,看看是否需要关闭当前线程。如果是,就break,跳出死循...
  • 很明显线程被锁死了,查看println()方法可以看出这里是一个线程安全的方法,在调用suspend方法之后,对象count被println锁住,线程无法被恢复,而且程序不能继续执行 ,所以我们在使用suspend之时很有可能由于某种原因...
  • (标志方法的第二个缺点是,大多数非平凡的代码都将使用java.util.current这样的库,其中的类是专门设计用来使用中断来取消的。在传递给Executir的任务中使用手摇标志将很尴尬。)调用中断()还...
  • java线程如何暂停暂停的时间未知。之后又可以在程序中唤醒呢?
  • 展开全部曾经碰到一个问题,线程32313133353236313431303231363533e58685e5aeb931333335333766的暂停与继续,想了想,去使用JDK给我们提供的suspend方法、interrupt方法??suspend()方法让这个线程与主线程都暂停了...
  • 前言这几天的项目中,客户给了个需求,希望我可以开启一个任务,想什么时候暂停就什么时候暂停,想什么时候开始就什么时候开始!所以这几天恶补了一下线程中的方法,记录一下,并给大家分享一下正文自定义线程类...
  • Java中的线程如何使用使用join方法进行暂停发布时间:2020-11-16 16:23:45来源:亿速云阅读:95作者:LeahJava中的线程如何使用使用join方法进行暂停?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的...
  • 判断线程结束和让线程结束.../*** 用于循环1000次的线程* @Title: Run1000Thread.java* @Package cn.lonecloud.Thread.study* @Description:* @author lonecloud* @date 2016年8月14日 下午11:06:07*/public c...
  • java线程暂停与继续

    2015-02-03 20:24:22
    突然碰到一个问题,线程暂停与继续,我想了想,去使用JDK给我们提供的suspend方法、interrupt方法??suspend()方法让这个线程与主线程都暂停了,谁来唤醒他们??明显这个不好用,要用的话,恐怕得另写唤醒线程了...
  • Android Java 线程暂停与继续

    千次阅读 2016-08-05 10:40:42
    突然碰到一个问题,线程暂停与继续,我想了想,去使用JDK给我们提供的suspend方法、interrupt方法??suspend()方法让这个线程与主线程都暂停了,谁来唤醒他们??明显这个不好用,要用的话,恐怕得另写唤醒线程了...
  • java线程暂停与恢复suspend和resume

    千次阅读 2017-06-09 11:32:36
    通过suspend()函数,可使线程进入停滞状态。通过suspend()使线程进入停滞状态后,除非收到resume()消息,否则该线程不会变回可执行状态。当调用suspend()函数后,线程不会释放它的“钥匙”。 在开启子线程后立即让...
  • java线程暂停和回复类

    2014-05-29 18:07:36
    /** * 线程暂停,恢复 * * @author Administrator * */ public class ThreadTest implements Runnable { private String name; private Thread t; private boolean suspendFlag = f
  • Android项目中的一个需求:通过线程读取文件内容,并且可以控制线程的开始、暂停、继续,来控制读文件。在此记录下。直接在主线程中,通过wait、notify、notifyAll去控制读文件的线程(子线程),报错:java.lang....
  • Java线程暂停和启动

    2013-10-12 14:30:00
    将isStop设置为true,然后使用interrupt方法终端睡眠即可暂停线程 再将isStop设置为false即可启动线程 想要结束线程把isStart设置为false即可 转载于:...
  • 由于公众号文章推送规则的改变,大家能准时收到我们的文章推送,请将公众号:JAVA设为星标~这样就不会错过每一篇精彩的推送啦~来源:cnblogs.com/greta/p/5624839.htm1. 停止不了的线程2. 判断线程是否停止状态3. ...
  • 各位,我的主要意思是,我用Thread.sleep(1000),之后,操作系统不是进程轮转么,JAVA程序是如何知道1000s后的它一定系统给它资源让它活过来呢? 我的猜想:系统进程轮转的时间片很短暂,小于1ms,所以,如果以1ms...
  • Thread.sleep(long millis) : 使当前线程暂停指定时间,暂停期间该线程不参与CPU竞争; ```java @FastNative private static native void sleep(Object lock, long millis, int nanos) throws InterruptedException...
  • System.out.println("程序暂停了!");   //关键代码 Thread.sleep(10000);   System.out.println("-------程序在次启动!"); } catch (InterruptedException e) { // TODO Auto-...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,298
精华内容 1,319
关键字:

java线程暂停

java 订阅