比如,有3个帐号登录的模拟线程,启用多线程分配给每个帐号,以各自执行某个任务,当任务完成第一步时候,让线程停止一段时间(各线程互不影响),然后继续。请教各位,麻烦最好给个代码片段,谢谢!

解决方案 »

  1.   

    还在学习中不是用sleep方法可以让线程休息吗
    Thread.sleep(1000);
      

  2.   

    ]
    synchronized{
    '''''
    Thread.sleep(XXXXXXX);
    }
      

  3.   

    没有互斥资源的话 sleep
    有的话 wait
      

  4.   

    Thread.sleep(1000);
    this.wait();
    this.yield();
    this.jion();其中的this是Thread或者Runnable的子类/实现类,也就是你希望延时的那个线程
      

  5.   


    不是用sleep方法可以让线程休息吗
    Thread.sleep(1000);
      

  6.   

    同步!使用sleep方法就可以实现
      

  7.   


    比如,一个备份操作,不需要每秒备份,可能隔一个钟头一次。是否,用线程来实现并不妥当? 用 Quartz 来实现更好?问题是,我的实际需要并不是做备份这样的事情,是这样一个应用,自动登录帐号,每隔N秒发表一篇文章,当发送文章数量达到N个时,线程退出。
      

  8.   

    Thread.sleep(1000);正好是干这个的,
      

  9.   

    用sleep(跟着的毫秒数);让线程睡上你指定的毫秒数
      

  10.   

    没有互斥资源的话 sleep
    有的话 wait同意这个,有时候利用SMTP连接远程服务器发送邮件,比如N多邮件,你用一个FOR循环去遍历EMAIL地址,然后发送,他几秒就循环完了,发送速度不可能有那么快,有的服务器来不及销毁会话,就报错,这情况,定义一个标记,到一定情况后,线程停一下,  拙见
      

  11.   

    quartz就是为你这类任务而生的
      

  12.   


    当然不能让一个线程在哪里睡觉了,这样会导致一个线程长时间地被占用,增加线程调度的负担。建议使用 Quartz
      

  13.   

    Thread.sleep(1000);  这个就可以
      

  14.   


    这里的应用不是在服务端,要用在Swing桌面程序上,所以必须要考虑同界面交互的问题。请大侠继续发表高论,不吝赐教!
      

  15.   

    Quartz 这是什么东西啊??
      

  16.   


    确如阁下所述如此简单吗?sleep 是否能够保证时间上的精确?(如间隔1200毫秒,不超过,不少于)
      

  17.   

    java.util.concurrent.ScheduledExecutorService 就能满足你的需求。
      

  18.   

    在想暂停的地方加如下代码就可以了:
     try {  
      Thread.sleep(1000);  //暂停1秒。
      } catch(Exception e) {  
      System.out.println("A Interrupted");  
      }  
      

  19.   

    这个很简单吧,还是理解错了lz的意思,看看下面代码:
    class Processor extends Thread{
        private String user;
        private DoSomething doing;
        public Processor(String user){
          this.user = user;
          doing = new DoSomething();
        }
        public void run(){
           doing.step1(user); //做完第一步,等待
           Thread.spleep(1000);//等待1秒
            doing.step2(user); 
           。
        }
    }
    class DoSomething{
     void step1(String user){}
     void step2(String user){}
     ......
    }
    三个帐号同时登录,相当于:
    new Processor(a).start();// a用户登录后启动线程
    new Processor(b).start();// b用户登录后启动线程
    new Processor(c).start();// c用户登录后启动线程
    每个用户线程中做了第一步都等待了一段时间。
      

  20.   

    表达不清楚,不知道题意。任何一个多线程都有这种功能嘛。synchronize都能实现
      

  21.   


    synchronize? 同步?Oh , no, not about this.
      

  22.   

    Thead.sleep()   如果想精确控制时间,可以用 TimeUnit 这个类。
      

  23.   

    public class Task implements Runnable { private String username;
    private String password;
    private StringBuffer o;
    public Task(String username, String password, StringBuffer o){
    this.username = username;
    this.password = password;
    this.o = o;
    }

    @Override
    public void run() {
    step1();
    while(true){
    try {
    Thread.sleep(1000);
    step2();
    } catch (InterruptedException e) {
    e.printStackTrace();
    }
    }
    }
    private void step1(){

    }

    private void step2(){
    synchronized(o){
    System.out.println(Thread.currentThread() + "  "+o.reverse().toString());
    }

    }
    }
      

  24.   

    如果LZ是想每隔一段时间触发一次事件,那么我建议楼主使用java.util.Timer类,这个比线程自己实现要简单的多,虽然说也是线程,起码实现好了的,呵呵
      

  25.   

    没有互斥资源的话 sleep
    有的话 wait觉得这句话对!