一.按次數(shù)循環(huán)奏寨,無法計算時長
二.持續(xù)循環(huán)啟打開炼彪,分是否使用調(diào)度器兩種情況:
1.調(diào)度器關(guān)閉 - 無限循環(huán)洲尊,時長無窮大
2.調(diào)度器打開 - 靠時間控制
2.1 如果持續(xù)時間N不為空贩猎,啟動延時為空:
2.1.1 開始時間要比當(dāng)前時間大->延遲執(zhí)行N秒(延時時間=開始時間-當(dāng)前時間收夸,執(zhí)行時間=N秒)
2.1.2 否則->直接執(zhí)行N秒(延時時間=0秒蜗顽,執(zhí)行時間=N秒)
2.2 如果持續(xù)時間為空布卡,啟動延時為M不為空:
2.2.1 當(dāng)前時間≥結(jié)束時間->無法執(zhí)行。(延時時間=0秒雇盖,執(zhí)行時間=0秒)
2.2.2 否則:->延遲M秒執(zhí)行:
2.2.2.1 時間空間大于延時時間(結(jié)束時間-當(dāng)前時間>M):->執(zhí)行時間等于時間空間扣除延時時長(延時時間=M秒忿等,執(zhí)行時間=結(jié)束時間-當(dāng)前時間-M秒)
2.2.2.2 否則,沒有執(zhí)行時間:->延時完執(zhí)行一次結(jié)束(延時時間=M秒崔挖,執(zhí)行時間=1秒)
2.3 如果持續(xù)時間為空贸街,啟動延時為空:
2.3.1 當(dāng)前時間≥結(jié)束時間->無法執(zhí)行庵寞。(延時時間=0秒,執(zhí)行時間=0秒)
2.3.2 否則:
2.3.2.1 當(dāng)前時間比開始時間醒Ψ恕:->延時執(zhí)行:
2.3.2.1.1 結(jié)束時間要比開始時間大:->持續(xù)執(zhí)行(延時時間=開始時間-當(dāng)前時間捐川,執(zhí)行時間=結(jié)束時間-開始時間)
2.3.2.1.2 否則:->執(zhí)行一次(延時時間=開始時間-當(dāng)前時間,執(zhí)行時間=1)
2.3.2.2 否則:->直接執(zhí)行(延時時間=0秒逸尖,執(zhí)行時間=結(jié)束時間-當(dāng)前時間)
2.4 如果持續(xù)時間古沥、啟動延時都不為空:->保持原值不變