51,407
社区成员
发帖
与我相关
我的任务
分享httpclient-4.5.3.jar
PoolingHttpClientConnectionManager:155 设置线程池里线程存活等待的时间(CPool#timeToLive)是-1。不能理解这个-1表示什么意思?求助大神解释一下。

谢谢二楼的 =PNZ=BeijingL 。按您的提醒,看到这段源码了
public PoolEntry(String id, T route, C conn, long timeToLive, TimeUnit tunit)
{
Args.notNull(route, "Route");
Args.notNull(conn, "Connection");
Args.notNull(tunit, "Time unit");
this.id = id;
this.route = route;
this.conn = conn;
this.created = System.currentTimeMillis();
if (timeToLive > 0L) {
this.validityDeadline = (this.created + tunit.toMillis(timeToLive));
} else {
this.validityDeadline = 9223372036854775807L;
}
this.expiry = this.validityDeadline;
}
从反编译源码看, 当超时时间小于0的时候,设置为9223372036854775807L ,转成日期后是 292278994, 现在才是2021年, 所以当超时时间小于0的时候,基本表示永不过期
这类问题耐心查一下源码就能找到答案的