定時器任務1DualBlockCache

2021-10-07 19:35:53 字數 1587 閱讀 9821

// a cache快取object

private static hashmapblockobjecta = new hashmap<>();

// a cache快取string

private static hashmapblockstringa = new hashmap<>();

// a cache快取treemap

private static hashmap> blocktreemapa = new hashmap<>();

// b cache快取object

private static hashmapblockobjectb = new hashmap<>();

// b cache快取string

private static hashmapblockstringb = new hashmap<>();

// b cache快取treemap

private static hashmap> blocktreemapb = new hashmap<>();

// list儲存cardbin.txt檔案資料,檔案中一行為list的乙個index節點

private static list cardbinlist = new arraylist<>();

private static doublearraytrie dat = new doublearraytrie();

//快取單執行緒

private static scheduledexecutorservice executorservice = executors.newsinglethreadscheduledexecutor();

//快取例項

private static dualblockcache cache = new dualblockcache();

private dualblockcache()

public static dualblockcache getinstance()

public void start(string cardbindir)

reader.close();

logger.info("cardbin字典詞條: " + words.size());

// 根據cardbin list構建doublearraytrie

logger.info("構建樹任務: " + (dat.build(words) == 0 ? "成功" : "失敗"));

timestamp end = new timestamp(system.currenttimemillis());

logger.info("構建darts任務結束,耗時(ms): " + (end.gettime() - start.gettime()));

cardbinindicator = 1;

} catch (ioexception e)

// 定時重新整理記憶體資料

executorservice.schedulewithfixeddelay(new runnable()

}}, 1l, 600l, timeunit.seconds); // 專案啟動後1秒開始執行,此後10分鐘重新整理一次

定時器任務

步驟 在springboot 入口中,開啟定時器任務。新建任務類,將任務類交給spring 容器管理。啟動類加入註解 enablescheduling 開啟定時器任務 新建定時器任務包,新建任務類 在任務類中 寫上乙個任務 在任務的上面加上註解 scheduled fixdrate 毫秒 每隔 毫秒...

centos任務定時器

一 定時服務的啟動與關閉 如果想讓我的定時任務生效,我們必須要在centos中啟動乙個叫crond的這樣的乙個服務。crond服務是linux的內建服務,但它不會開機自動啟動。可以用以下命令啟動和停止服務 啟動systemctl start crond.service檢視狀態 systemctl s...

c 任務定時器

使用場景 當超時時呼叫處理函式 接收連續的資料,當資料停止傳輸超過1秒時,算作1包,進行處理 定時器類 定時器,用於在計時結束後執行指定方法 public static class timeroperate t null t new system.timers.timer duration 例項化t...