勵志

勵志人生知識庫

工作列是什麼

工作佇列(work queue)是一種機制,用於將操作或回調延期異步執行。它允許將工作推後,由一個核心執行緒去執行。工作佇列的執行發生線上程上下文中,因此在其執行過程中可以被重新調度、搶占或睡眠。工作佇列中的元素被稱為工作項(work item),它是一個回調函式及其輸入參數的集合,有時還包括額外的屬性成員。工作項通過一個結構體來記錄和描述。在Linux 2.6核心中,工作佇列被用來處理任務,與tasklet不同的是,工作佇列的函式可以使用休眠,而tasklet的函式則不允許使用休眠。工作佇列的使用有兩種情況:一種是利用系統共享的工作佇列來添加自己的工作,這種情況下處理函式不能消耗太多時間,以免影響共享佇列中其他任務的處理;另一種是創建自己的工作佇列並添加工作。