比如現(xiàn)在用戶表有100000條記錄,現(xiàn)在要向這些用戶發(fā)送郵件,如何快速的使其發(fā)送完成.
2 回答

慕雪6442864
TA貢獻1812條經(jīng)驗 獲得超5個贊
將所有記錄放到 ConcurrentLinkedQueue 中,然后使用多個線程(使用線程池)共享這個 ConcurrentLinkedQueue,每個線程每次從 ConcurrentLinkedQueue 中取出一條記錄并發(fā)送郵件,直到隊列為空 (即 isEmpty() 返回 true)

哈士奇WWW
TA貢獻1799條經(jīng)驗 獲得超6個贊
我不太明白你的問題,看這個描述,直接開始n個并發(fā)的任務就可以了,如果你要發(fā)完了做點事情,jdk提供的倒計時器或者柵欄都支持。
還是你考慮的jvm的內(nèi)存占用,同時1000000萬條會搞掉你的內(nèi)存堆。
添加回答
舉報
0/150
提交
取消