Socket 伺服器通常包含:
HANDLE hThread = CreateThread(..., &WorkerThread, ...);
SetThreadPriority(hThread, THREAD_PRIORITY_BELOW_NORMAL); // 工作執行緒降級
// 主 accept 執行緒
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_ABOVE_NORMAL);
Thread acceptThread = new Thread(() -> { while(running) serverSocket.accept(); });
acceptThread.setPriority(Thread.MAX_PRIORITY); // 10
Thread worker = new Thread(task);
worker.setPriority(Thread.NORM_PRIORITY - 1); // 4
struct sched_param param;
param.sched_priority = 50; // 實時調度 SCHED_FIFO/RR 需 root
pthread_setschedparam(tid, SCHED_FIFO, ¶m);
// 普通執行緒用 nice()
nice(5); // 降低優先級
Socket 伺服器設定執行緒優先級:**主監聽執行緒升高、心跳/後台執行緒降低**,確保連線建立與關鍵路徑低延遲。但**架構設計(非阻塞 I/O、線程池隔離、無鎖佇列)比優先級微調重要得多**。