java使用线程请求访问每次间隔10分钟连续5次,之后停止请求

java使用线程请求访问每次间隔10分钟连续5次,收到相应的时候停止请求

package com.qlwb.business.util;
/**
 *
 *
 * @类编号:
 * @类名称:RequestTask
 * @内容摘要:  若开发者发出了回调通知,却没有收到兑吧ok响应时,开发者需重试5次,每次间隔10分钟。
 * @author:鹿伟伟
 * @创建日期:2016年4月15日 下午4:25:20
 * @修改人:
 * @修改日期:
 * @修改描述:简单描述修改的内容
 * @version 1.0.0
 *
 */
public class RequestTask implements Runnable {
    private String url;
    private String param;
    private String status="false";
    public RequestTask(String url, String param) {
        super();
        this.url = url;
        this.param = param;
    }

    @Override
    public void run() {
        int i = 1;
        int max = 5;
        while (true) {
            String result=HttpRequest.sendPost(url, param);
            i++;
            if ("ok".equals(result)) {
                status="ok";
                break;
            }
            if (i > max ) {
                break;
            }
            try {
                Thread.sleep(10*60*1000);//每次间隔10分钟。
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    public String getStatus() {
        return status;
    }
}
时间: 2024-10-05 05:00:45

java使用线程请求访问每次间隔10分钟连续5次,之后停止请求的相关文章

简单的SQl时间序列生成,每次时间间隔10分钟。

create table #timeseries(Times datetime not null) go declare @firstdate datetime , @lastdate datetime declare @MI int begin set @firstdate='8/8/2012 6:00' set @lastdate ='8/9/2012 6:00' set @MI=datediff(MI,@firstdate,@lastdate) --嵌套循环 while(@MI>=0) b

请使用socket相关函数(非curl)实现如下功能:构造一个post请求,发送到指定httpserver的指定端口的指定请求路径(如http://www.example.com:8080/test)。请求中包含以下变量:

用户名(username):温柔一刀密码(pwd):&123=321&321=123&个人简介(intro):Hello world!且该http server需要以下cookie来进行简单的用户动作跟踪:cur_query:you&melast_tm:...(上次请求的unix时间戳,定为当前请求时间前10分钟)cur_tm:...(当前请求的unix时间戳)设置超时为10秒,发出请求后,将http server的响应内容输出(腾讯) 参考代码: <?php if(

java多线程 同步方法也会被抢, 就是只有同步方法在其他线程要访问同一个实例的同步方法时。。。。

ackage cn.twj.rtti.t;//: concurrency/AtomicityTest.java import java.util.concurrent.*; public class AtomicityTest implements Runnable { private int i = 0; public int getValue() { return i; } //设置此方法为同步方法的意思并不是说进入此方法后其他线程就会等待此方法完成了 //在非进入此方法的线程中,还是会和当

Java多线程 线程同步

如果你正在写一个变量,它可能接下来将被另一个线程读取,或者正在读取一个上一次已经被另一个线程写过的变量,那么你需要使用同步,并且,读写线程都必须用相同的监视器锁同步.--Brain同步规则 synchronized 所有对象都自动含有单一的锁,当在调用一个对象的任意synchronized方法时,此对象将被加锁. 对于某个特定对象来说,所有的synchronized方法共享同一个锁.所以某个线程在访问对象的一个synchronized方法时,其他线程访问该对象的任何synchronized方法都

Java之线程,常用方法,线程同步,死锁

1, 线程的概念 进程与线程 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程.(进程是资源分配的最小单位) 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小.(线程是cpu调度的最小单位) 切换而不是同步 一个程序中的方法有几条执行路径, 就有几个线程 Java中线程的生命周期 Java线程具有五中基本状态 新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t =

JAVA中线程同步的方法

用什么关键字修饰同步方法 ? 用synchronized关键字修饰同步方法  同步有几种实现方法,都是什么?分别是synchronized,wait与notify wait():使一个线程处于等待状态,并且释放所持有的对象的lock.sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常.notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线

Java多线程-线程的同步与锁

一.同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏.例如:两个线程ThreadA.ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据. package cn.thread; public class Foo { private int x = 100; public int getX() { return x; } public int fix(int y) { x = x - y; return x; } } package cn.thread;

JAVA中线程同步的方法(7种)汇总

一.同步方法 即有synchronized关键字修饰的方法. 由于java的每个对象都有一个内置锁,当用此关键字修饰方法时, 内置锁会保护整个方法.在调用该方法前,需要获得内置锁,否则就处于阻塞状态. 注: synchronized关键字也可以修饰静态方法,此时如果调用该静态方法,将会锁住整个类. 二.同步代码块 即有synchronized关键字修饰的语句块. 被该关键字修饰的语句块会自动被加上内置锁,从而实现同步 代码如: synchronized(object){ } 注:同步是一种高开销

Java中线程(Thread)知识概括

Java中线程(Thread)知识概括 进程:是一个正在执行中的程序.每一个进程执行都有一个执行顺序.该顺序是一个执行路径,或者叫一个控制单元. 线程:就是进程中的一个独立的控制单元.线程在控制着进程的执行. 一个进程中至少有一个线程. 例如:Java VM 启动的时候会有一个进程java.exe.该进程中至少一个线程负责java程序的执行,而且这个线程运行的代码存在于main方法中.该线程称之为主线程.jvm启动不止一个线程,还有负责垃圾回收机制等线程. 如何在自定义的代码中,自定义一个线程呢