課程
/后端開(kāi)發(fā)
/Java
/Java定時(shí)任務(wù)調(diào)度工具詳解之Quartz篇
Org.quartz.simpl.SimpleThreadPool類(lèi)是怎么用的?Quartz的線(xiàn)程池是怎么用的?
2017-07-23
源自:Java定時(shí)任務(wù)調(diào)度工具詳解之Quartz篇 2-7
正在回答
這個(gè)是Quartz 中自帶的一個(gè)線(xiàn)程池的實(shí)現(xiàn)。類(lèi)如其名,這只是線(xiàn)程池的一個(gè)簡(jiǎn)單實(shí)現(xiàn),沒(méi)有提供動(dòng)態(tài)自發(fā)調(diào)整等高級(jí)特性。你可以在里面預(yù)先指定好并發(fā)的線(xiàn)程數(shù),就好比生產(chǎn)者消費(fèi)者模型,里面就有有限的工作者線(xiàn)程,在同一時(shí)間內(nèi)就只能并發(fā)執(zhí)行相應(yīng)數(shù)量的任務(wù),多出的任務(wù)就要排隊(duì)。它的具體實(shí)現(xiàn)同學(xué)可以去看看相關(guān)的源碼,肯定會(huì)有收獲。 使用方式有兩種,
第一種在quartz.properties里面去指定,主要指定這個(gè)參數(shù)org.quartz.threadPool.threadCount,咱們?cè)诮坛汤镆材J(rèn)聲明式地用上了這個(gè)線(xiàn)程池了;
第二種是編程式指定,我看到有個(gè)博客在這么使用:
Properties props = new Properties(); ? ?props.put(StdSchedulerFactory.PROP_THREAD_POOL_CLASS, ? ? ? ? ? ?"org.quartz.simpl.SimpleThreadPool"); ? ?props.put("org.quartz.threadPool.threadCount", "50"); ? ? ? //任務(wù)線(xiàn)程個(gè)數(shù) ? ?StdSchedulerFactory factory = new StdSchedulerFactory(); ? ?factory.initialize(props); ? ?Scheduler scheduler = factory.getScheduler();
以上是基于第二個(gè)方式來(lái)使用,聲明式使用
同問(wèn),
舉報(bào)
Java定時(shí)任務(wù)調(diào)度工具詳解之Quartz篇
2 回答老師,用quartz怎么做動(dòng)態(tài)的任務(wù)調(diào)度,
1 回答Quartz的線(xiàn)程問(wèn)題,每次執(zhí)行一個(gè)job是異步的么?會(huì)阻塞主線(xiàn)程嗎
2 回答使用quartz請(qǐng)求MySQL的問(wèn)題
3 回答quartz和spring的task
1 回答HelloJob的實(shí)例是怎么創(chuàng)建出來(lái)的?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢(xún)優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2017-08-24
這個(gè)是Quartz 中自帶的一個(gè)線(xiàn)程池的實(shí)現(xiàn)。類(lèi)如其名,這只是線(xiàn)程池的一個(gè)簡(jiǎn)單實(shí)現(xiàn),沒(méi)有提供動(dòng)態(tài)自發(fā)調(diào)整等高級(jí)特性。你可以在里面預(yù)先指定好并發(fā)的線(xiàn)程數(shù),就好比生產(chǎn)者消費(fèi)者模型,里面就有有限的工作者線(xiàn)程,在同一時(shí)間內(nèi)就只能并發(fā)執(zhí)行相應(yīng)數(shù)量的任務(wù),多出的任務(wù)就要排隊(duì)。它的具體實(shí)現(xiàn)同學(xué)可以去看看相關(guān)的源碼,肯定會(huì)有收獲。 使用方式有兩種,
第一種在quartz.properties里面去指定,主要指定這個(gè)參數(shù)org.quartz.threadPool.threadCount,咱們?cè)诮坛汤镆材J(rèn)聲明式地用上了這個(gè)線(xiàn)程池了;
第二種是編程式指定,我看到有個(gè)博客在這么使用:
Properties props = new Properties();
? ?props.put(StdSchedulerFactory.PROP_THREAD_POOL_CLASS,
? ? ? ? ? ?"org.quartz.simpl.SimpleThreadPool");
? ?props.put("org.quartz.threadPool.threadCount", "50"); ? ? ? //任務(wù)線(xiàn)程個(gè)數(shù)
? ?StdSchedulerFactory factory = new StdSchedulerFactory();
? ?factory.initialize(props);
? ?Scheduler scheduler = factory.getScheduler();
以上是基于第二個(gè)方式來(lái)使用,聲明式使用
2017-07-25
同問(wèn),