簡體   English   中英

使用RT Linux調度的多個TCP套接字

[英]Multiple TCP sockets using RT linux scheduling

如果我使用SCHED_FIFO並將進程優先級設置為1,如何有效檢查進程正在管理的多個tcp連接之一何時有可用於處理的數據?

理想情況下,如果多個TCP套接字具有可用於處理的數據,則我想使用多線程。

我認為這看起來像是檢查每個套接字的無限循環,但是似乎Linux Scheduler可能有解決方案。

不確定SCHED_FIFO如何影響您的傳統服務器設計。 我的意思是偵聽套接字和accept返回的套接字的用法。 這個想法是,主線程應該在監聽套接字上被阻塞,並且當接收到新的連接時,它應該將accept返回的fd傳遞給新線程。 可以為所有新連接創建新線程,或者您可以具有線程池來限制它並更好地控制。

其他想法可能是使用在fd上調用select的線程,並且主線程可以偵聽並接受連接,主線程可以將新的fd排隊,並向正在等待select的線程發送通知(可以使用信號或管道) 。 一旦接收到數據,它就可以使用線程池中的工作線程來分配任務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM