執行緒池迴圈執行

2021-08-04 07:43:50 字數 1720 閱讀 8692

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading;

}public class lockobj

//正處理佇列

public queuequeuepending

//被禁用佇列

public queuequeuedisabled

/// /// 活動任務數量

///

public int activecount

}public class item

public int waitms

public lockobj lockobj

public datetime begintime

public datetime endtime

public double elaspedseconds

}#endregion

/// /// 監控用建構函式

///

///

public item(lockobj _lockobj)

/// /// 普通任務用的建構函式

///

///

///

///

public item(int _flag, int _waitseconds, lockobj _lockobj)

public void monitor(object obj)

form queuedisabled to queuepending", item.flag);}}

//如果數量不夠,則將等待列表中的加到執行列表

if (this.lockobj.activecount < 2)

this.lockobj.activecount = 2;}}

thread.sleep(1000);

threadpool.queueuserworkitem(new waitcallback(this.monitor), null);

}public void exec(object obj)

, begintime:, endtime: , elapsedseconds:"

, this.flag < 10 ? " " + this.flag.tostring() : this.flag.tostring()

, this.begintime

, this.endtime

, this.elaspedseconds

);lock (this.lockobj)

is disabled.", this.flag);

this.lockobj.queuedisabled.enqueue(this);

}//無異常則將此物件加入到隊尾

else

//從隊首取出物件執行

item itemexec = this.lockobj.queuepending.dequeue();

threadpool.queueuserworkitem(new waitcallback(itemexec.exec), null);}}

}//end of class item

}//end of namespace

while迴圈 執行緒池

public class volatiletest2 catch interruptedexception e system.out.println thread.currentthread getname ticket executorservice.shutdown 自己寫了這樣一段 本來以為執...

執行緒池之函式的執行

static void main string arg hash thread.currentthread.isthreadpoolthread,thread.currentthread.gethashcode catch exception ex console.readline static v...

執行緒池 任務延時執行

我在做乙個匯入功能,匯入的邏輯都是呼叫的頁面介面。介面執行邏輯 將資料儲存到資料庫,然後再呼叫job任務加工歷史資料。使用者在頁面上操作是ok的,畢竟每操作一下,介面最多呼叫一次。但是匯入就不一樣了,相當於使用者一直在對著頁面點點點 這會導致後面歷史任務的加工出現問題。在匯入的時候,我需要先讓基本資...