[問題] 怎知 "方法(函式)" 執行者是誰?
C# 的各位先進好
小弟最近在使用backgroundworker做背景執行
假設主執行序執行Form
我想知道以下認知是否正確,或是可以有什麼方法可以知道是誰在做事情?
1. 主執行序的視窗類別的子類別直接執行某方法 是由 主執行序執行該方法
2. 主執行序的視窗類別的子類別的某方法 做成委派變數 給背景執行序執行
是由 主執行序執行該方法
delegate void MyMethod (void);
MyMethod method = subClassMethod;
void Scanner_DoWork(object sender, DoWorkEventArgs e)
{
method();
}
3. 承2.,但是給背景執行序委派 是由 主執行序執行 委派方法
void Scanner_DoWork(object sender, DoWorkEventArgs e)
{
method.Invoke();
}
------------
然後我還想知道 2.3 的差異性...
使用情境,我現在有個 RS232 傳輸裝置
當我送出訊息給對方後,對方會回傳給我對應的資料
目前的情況是我有兩種狀況都要傳訊息:
1. 常態性背景掃描
2. 我的特殊要求
我在想,如果傳輸方法都是同一個執行序在執行
那我就不用費心去把方法鎖住
System.Threading.AutoResetEvent unLocker;
但如果執行者是不同執行序
我就要考慮 RS232 當下有沒有在執行 write的方法
不然我是否會遺失訊息
PS:目前我發現常常我的要求被 "忽視",我在想到底是哪個環節出問題...
感謝大家聆聽~~~
謝謝大家~
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.235.221
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1536736847.A.DE1.html
※ 編輯: s4300026 (60.250.235.221), 09/12/2018 15:22:37
推
09/12 15:30,
5年前
, 1F
09/12 15:30, 1F
→
09/12 15:31,
5年前
, 2F
09/12 15:31, 2F
→
09/12 15:31,
5年前
, 3F
09/12 15:31, 3F
→
09/12 15:32,
5年前
, 4F
09/12 15:32, 4F
→
09/12 15:35,
5年前
, 5F
09/12 15:35, 5F
→
09/12 15:35,
5年前
, 6F
09/12 15:35, 6F
→
09/12 15:35,
5年前
, 7F
09/12 15:35, 7F
感謝您的熱心回覆~~~
話說你的回答讓我想起之前一直也想問的問題
事件管理者(event Eventhandler) 掛勾 事件響應方法
comPort.DataReceived += ComPort_DataReceived;
當事件發生(raise)後,事件響應方法是哪個執行序在執行的?
raise的執行序要做事,還是監聽的執行序要做事
(就名詞而言好像監聽的執行序要做事比較合理... 是嗎?)
離題了...
話說我之前沒想過用ProgressChanged,是因為我覺得用不到
我的理由是
因為 comPort.DataReceived += ComPort_DataReceived; 掛上去後
我就已經可以直接收到資料了,然後就可以直接更新我的資料了。
那就不用ProgressChanged了阿... (也想不到怎麼用)
更直白地說,backgroundworker 只負責發送不負責接收阿...
※ 編輯: s4300026 (60.250.235.221), 09/12/2018 17:08:15
推
09/12 23:01,
5年前
, 8F
09/12 23:01, 8F
→
09/12 23:02,
5年前
, 9F
09/12 23:02, 9F
→
09/12 23:02,
5年前
, 10F
09/12 23:02, 10F
→
09/12 23:03,
5年前
, 11F
09/12 23:03, 11F
推
09/13 12:21,
5年前
, 12F
09/13 12:21, 12F
→
09/13 12:22,
5年前
, 13F
09/13 12:22, 13F
→
09/14 18:02,
5年前
, 14F
09/14 18:02, 14F
→
09/14 18:06,
5年前
, 15F
09/14 18:06, 15F
→
09/14 18:06,
5年前
, 16F
09/14 18:06, 16F
→
09/14 18:06,
5年前
, 17F
09/14 18:06, 17F
→
09/14 18:06,
5年前
, 18F
09/14 18:06, 18F
→
09/14 18:06,
5年前
, 19F
09/14 18:06, 19F
推
09/15 10:39,
5年前
, 20F
09/15 10:39, 20F
→
09/15 10:41,
5年前
, 21F
09/15 10:41, 21F
→
09/15 10:42,
5年前
, 22F
09/15 10:42, 22F
→
09/15 10:44,
5年前
, 23F
09/15 10:44, 23F
→
09/15 10:45,
5年前
, 24F
09/15 10:45, 24F
→
09/15 10:45,
5年前
, 25F
09/15 10:45, 25F
→
09/15 15:32,
5年前
, 26F
09/15 15:32, 26F
→
09/15 15:32,
5年前
, 27F
09/15 15:32, 27F
推
09/16 00:31,
5年前
, 28F
09/16 00:31, 28F
→
09/16 00:32,
5年前
, 29F
09/16 00:32, 29F