中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

wordpress獲取當前頁面鏈接seo搜索優(yōu)化專員

wordpress獲取當前頁面鏈接,seo搜索優(yōu)化專員,工商局注冊官網(wǎng)入口,網(wǎng)站注銷怎么做消如何實現(xiàn)異步并發(fā)限制 文章目錄 如何實現(xiàn)異步并發(fā)限制方法1注意點 方法2題目要求實現(xiàn)方法注意點 之前一直沒有系統(tǒng)的去總結(jié)異步并發(fā)限制的實現(xiàn)思路,今天就來做個總結(jié)吧 方法1 只有一個變量 pool:代表正在執(zhí)行中的任務(wù)中的集合 function sleep(name, t…

如何實現(xiàn)異步并發(fā)限制

文章目錄

  • 如何實現(xiàn)異步并發(fā)限制
    • 方法1
      • 注意點
    • 方法2
      • 題目要求
      • 實現(xiàn)方法
      • 注意點

之前一直沒有系統(tǒng)的去總結(jié)異步并發(fā)限制的實現(xiàn)思路,今天就來做個總結(jié)吧

方法1

只有一個變量
pool:代表正在執(zhí)行中的任務(wù)中的集合

function sleep(name, timeOut) {return new Promise(resolve => {console.log(`${name}開始了`);setTimeout(() => {console.log(`${name}結(jié)束了`);resolve();}, timeOut);})}const tasks = [() => sleep(1, 1000),() => sleep(2, 2000),() => sleep(3, 3000),() => sleep(5, 6000),() => sleep(8, 8000),];async function parallelLimit(tasks, limit = 2) {// 正在執(zhí)行中的任務(wù)的集合const pool = new Set();for (const task of tasks) {const promise = task();pool.add(promise);promise.then(() => pool.delete(promise));if (pool.size >= limit) {await Promise.race(pool);}}return Promise.all(pool);}parallelLimit(tasks).then(() => {console.log('任務(wù)已全部執(zhí)行');})

注意點

  1. 此時的 pool 代表的是:正在執(zhí)行中的任務(wù)中的集合
  2. 使用 Promise.race 這種方式不能保證執(zhí)行順序,若要求要按順序執(zhí)行,請看第二種方法

方法2

題目要求

要求實現(xiàn) Scheduler 函數(shù),完成異步并發(fā)限制數(shù)為2的功能,且需要保證執(zhí)行順序

const scheduler = new Scheduler(2);const timeout = (time) =>new Promise((resolve) => {setTimeout(resolve, time);});const addTask = (time, order) => {scheduler.add(() => timeout(time).then(() => console.log(order)))
}addTask(1000, '1')
addTask(500, '2')
addTask(300, '3')
addTask(400, '4')// 500ms時,2完成,輸出2
// 800ms時,3完成,輸出3
// 1000ms時,1完成,輸出1
// 1200ms時,4完成,輸出4

實現(xiàn)方法

function Scheduler(limit) {// 模擬隊列,保存所有任務(wù)this.pool = [];// 當前正在執(zhí)行任務(wù)的數(shù)目this.count = 0;this.add = function (fn) {this.pool.push(fn);this.run();}this.run = function () {if (this.pool.length && this.count < limit) {const task = this.pool.shift(); // 保證執(zhí)行順序this.count++;task().then(() => {this.count--;this.run();})}}
}const scheduler = new Scheduler(2);const timeout = (time) =>new Promise((resolve) => {setTimeout(resolve, time);});const addTask = (time, order) => {scheduler.add(() => timeout(time).then(() => console.log(order)))
}addTask(1000, '1')
addTask(500, '2')
addTask(300, '3')
addTask(400, '4')// 500ms時,2完成,輸出2
// 800ms時,3完成,輸出3
// 1000ms時,1完成,輸出1
// 1200ms時,4完成,輸出4

注意點

  1. pool 代表保存所有任務(wù)的數(shù)組
  2. count 代表當前正在執(zhí)行任務(wù)的數(shù)目
  3. 保證順序:需要從數(shù)組中順序取出并執(zhí)行

兩個方法各變量代表的含義不同,實現(xiàn)的思路也就不同,要好好區(qū)分兩種方法的思想,不然會混淆(像我一樣??????)


道阻且長,面試加油,邊復(fù)習邊查漏補缺吧!!!

passion!!!

http://www.risenshineclean.com/news/50920.html

相關(guān)文章:

  • 如何在雅虎臺灣做企業(yè)網(wǎng)站站長工具綜合查詢2020
  • 網(wǎng)站 平臺建設(shè)情況介紹優(yōu)化公司網(wǎng)站排名
  • 電腦網(wǎng)站模板網(wǎng)頁模板免費下載
  • 禪城區(qū)網(wǎng)站建設(shè)公司優(yōu)化網(wǎng)站平臺
  • 可以做軟文的網(wǎng)站營銷策略范文
  • 網(wǎng)站建設(shè)熊貓建站百度如何發(fā)布作品
  • 做網(wǎng)站需要買空間么 服務(wù)器福州百度開戶多少錢
  • 網(wǎng)站代碼在哪看查詢網(wǎng)站收錄
  • 網(wǎng)絡(luò)培訓ppt天天seo百度點擊器
  • 在網(wǎng)站上保存網(wǎng)址怎么做國內(nèi)打開google網(wǎng)頁的方法
  • 設(shè)計公司網(wǎng)站建設(shè)方案百度搜索引擎營銷案例
  • wordpress 媒體庫 API抖音seo查詢工具
  • 網(wǎng)站用哪些系統(tǒng)做的好網(wǎng)絡(luò)營銷業(yè)務(wù)流程
  • 做設(shè)計必須知道的幾個網(wǎng)站嗎百度快照怎么使用
  • 怎么通過做網(wǎng)站來賺錢百度一下官方網(wǎng)址
  • 蕪湖企業(yè)網(wǎng)站建設(shè)網(wǎng)站策劃是什么
  • 婚戀網(wǎng)站做期貨現(xiàn)貨貴金屬的人推推蛙seo顧問
  • 做外賣有哪些網(wǎng)站想要導航頁面推廣app
  • 大理石在哪些網(wǎng)站做宣傳微信小程序怎么開通
  • 鄭州網(wǎng)站建設(shè)找智巢2345導航網(wǎng)址
  • wordpress 微博模板成都網(wǎng)站搭建優(yōu)化推廣
  • 學校網(wǎng)站建設(shè)發(fā)展概況分析seo關(guān)鍵詞排名優(yōu)化怎么收費
  • 上海做網(wǎng)站哪個好seo技術(shù)大師
  • 遼寧人社app一直更新汕頭網(wǎng)站優(yōu)化
  • 杭州做家教網(wǎng)站公司關(guān)鍵詞seo
  • 重慶建設(shè)工程管理網(wǎng)seo入門到精通
  • 哪些網(wǎng)站是用響應(yīng)式做的網(wǎng)絡(luò)服務(wù)器的作用
  • 網(wǎng)站在正在建設(shè)中品牌營銷策劃怎么寫
  • 重慶智能網(wǎng)站建設(shè)哪里好谷歌手機版瀏覽器官網(wǎng)
  • 做證明圖片的網(wǎng)站拉新app渠道