串口發送:多個待發送檔案,如何實作發送檔案前上一次發送任務已完成?
串口接收:多個發送檔案對應串口會反饋多個回應,如何按順序讀取串口?
uj5u.com熱心網友回復:
串口的佇列發送接收操作,可以使用SemaphoreSlim,我也是最近用的,給你一個簡單的實體吧。(PS:你的分給你太少了)
static SemaphoreSlim _semaphore = new SemaphoreSlim(1);//這里的數字是程式資源的佇列數
private void button_Click(object sender, EventArgs e)
{
for (int i = 1; i < 6; i++)//
{
Thread _thread = new Thread(() =>//這里可以看成你的多檔案
{
getTest();
});
_thread.Name = "thread" + i;
_thread.Start();
}
}
public void getTest()
{
_semaphore.Wait();
//這里是上傳或接收的操作
_semaphore.Release();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/60522.html
標籤:C#
