mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-09-10 06:21:21 +00:00
perf[net]: 在task,event,scheduler线程执行的异步请求,请求成功过后依然在相同的线程执行回调任务
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
package com.zfoo.util;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* @author godotg
|
||||
* @version 3.0
|
||||
*/
|
||||
public abstract class SafeRunnable implements Runnable {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SafeRunnable.class);
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
doRun();
|
||||
} catch (Exception e) {
|
||||
logger.error("未知exception异常", e);
|
||||
} catch (Throwable t) {
|
||||
logger.error("未知throwable异常", t);
|
||||
}
|
||||
}
|
||||
|
||||
public abstract void doRun();
|
||||
|
||||
}
|
||||
@@ -23,7 +23,7 @@ import java.util.TreeMap;
|
||||
/**
|
||||
* 带虚拟节点的一致性Hash算法,参考:http://www.zsythink.net/archives/1182
|
||||
*
|
||||
* @author jaysunxiao
|
||||
* @author godotg
|
||||
* @version 3.0
|
||||
*/
|
||||
|
||||
@@ -35,7 +35,7 @@ public class ConsistentHash<K, V> {
|
||||
// 虚拟节点,key表示虚拟节点的hash值,value表示虚拟节点的名称
|
||||
private TreeMap<Integer, Pair<K, V>> virtualNodeTreeMap = new TreeMap<>();
|
||||
|
||||
// 虚拟节点的数目,数量越大约均匀,经验值150
|
||||
// 虚拟节点的数目,数量越大约均匀
|
||||
private int virtualNodes = 0;
|
||||
|
||||
public ConsistentHash(List<Pair<K, V>> realNodes, int virtualNodes) {
|
||||
|
||||
Reference in New Issue
Block a user