首先,我想感謝社區。你最近一直很支持!通常我甚至不需要提問,因爲他們已經在那裏了。現在我有一個與代碼沒有直接關係的問題,但是編程本身。最佳實踐?等到收到或提出收到活動
我正在使用一個FTDI芯片和C#編程的通信協議,其中PC應用程序的行爲像主人(將發送請求),也有奴隸設備誰會回答他們,不是立即,也許是一對夫婦毫秒,但無論如何,需要一段時間。我陷入了一個概念/哲學的代碼設計問題。
發送請求後,應我要求馬上一個答案(也檢查超時),或者我應該不斷地監視輸入(BackgroundWorker的供電)和接收數據輸入後,引發事件?你會推薦什麼,你的體驗如何。我應該考慮什麼因素來做出我的選擇?
我沒學過編程本身,所以我想我沒有這個基本的軟件設計,但這是一個個人項目我工作和肯定,我很樂意/這個指針從你們的一些反饋。
謝謝!
我做得很完美,直到你說'使用鎖定機制'。我會去谷歌和回來。無論如何,奴隸並沒有真正引發事件,但FTDI芯片允許一個EventWaitHandle訂閱,我可以使用它來引發收到的字節事件。我不想做的是停留在一個循環中,直到WaitEventHandle觸發我將失去GUI響應的地方。謝謝。 – 2010-10-26 15:21:45
@Jazz - 確保單線程訪問的一個簡單方法是在你的一個類中定義一個'static object mylock = new object();'然後在你的定時器的代碼周圍使用'lock(mylock)',響應回調不應該同時執行。 – 2010-10-26 15:24:27
當你的意思是'使用標準的.net機制'你的意思是system.timers.timer? – 2010-10-26 16:04:43