全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1008
推到 Plurk!
推到 Facebook!

請教一下有關thread的問題

尚未結案
wen142
一般會員


發表:22
回覆:27
積分:14
註冊:2004-06-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-24 21:05:31 IP:61.30.xxx.xxx 未訂閱
各位大大好~~ 我想要請教一下有關thread的問題 最近在設計有關Thread 但是我希望可以在所有動作中可以有Queue作為動作記錄的功能 試問 在thread中是否有類似的功能可以提供參考?? 還是必須在做multi thread的時候 要自己重新設計 是否有適當的參考程式或是文件提供思考?? 請各位大大幫幫忙~~感恩︿︿ bcb新手上路 請多指教
wen142
一般會員


發表:22
回覆:27
積分:14
註冊:2004-06-30

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-25 11:57:20 IP:61.30.xxx.xxx 未訂閱
各位大大你們好~ 或許小弟對於想要問的問題表達的怪怪的 因為小弟也是突然被丟這樣的PROJECT 其想法主要是要將程式與程式之間 (其包含在同台電腦與不同台電腦兩個層級) 以同一台電腦為例子 當所撰寫的資料或是影像在相互傳遞的過程中 必須要有一個可以做紀錄的機制 (好比紀錄:傳遞與被傳遞的AP、以及傳遞的啟始時間和終止時間等) 這樣的一個小程式稱為什麼呢? 我一直不太懂(因為BOSS老叫他QUEUE) 此外,聽說MFC中的thread有自動加入QUEUE的機制(其作用如同上述) 因此才突然被驅使使用thread來撰寫 但是看過站上不少文,總認為和BOSS講的有很大的出入 請各位大大幫個忙 提供一點想法 ︿︿ bcb新手上路 請多指教
李國維
高階會員


發表:42
回覆:287
積分:235
註冊:2003-02-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-25 14:50:01 IP:220.130.xxx.xxx 未訂閱
wen142: Windows在傳遞訊息時是透過所謂Message queue. 例如你在畫面做Repaint的時候.程式會丟一個WM_PAINT給Message queue. 然後程式會接收到這各Message.在去做動作. 所以這應該不能算是Thread的問題.你應該去朝向"攔截Message"這各部分去努力. MFC中的thread有自動加入QUEUE的機制.應該是說,MFC要自行撰寫Message的動作.BCB也可以.但是這各只是單純的攔截該程式的Message. 請參考 http://delphi.ktop.com.tw/topic.php?topic_id=51359 http://delphi.ktop.com.tw/topic.php?topic_id=49757 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/Windowing/MessagesandMessageQueues.asp 另一種是攔截Windows本身的Message.叫做HOOK 請參考 http://delphi.ktop.com.tw/topic.php?topic_id=47733 http://delphi.ktop.com.tw/topic.php?topic_id=33007 或是多利用可本站來做搜尋.
wen142
一般會員


發表:22
回覆:27
積分:14
註冊:2004-06-30

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-26 10:36:26 IP:61.31.xxx.xxx 未訂閱
引言: wen142: Windows在傳遞訊息時是透過所謂Message queue. 例如你在畫面做Repaint的時候.程式會丟一個WM_PAINT給Message queue. 然後程式會接收到這各Message.在去做動作. 所以這應該不能算是Thread的問題.你應該去朝向"攔截Message"這各部分去努力. MFC中的thread有自動加入QUEUE的機制.應該是說,MFC要自行撰寫Message的動作.BCB也可以.但是這各只是單純的攔截該程式的Message. 請參考 http://delphi.ktop.com.tw/topic.php?topic_id=51359 http://delphi.ktop.com.tw/topic.php?topic_id=49757 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/Windowing/MessagesandMessageQueues.asp 另一種是攔截Windows本身的Message.叫做HOOK 請參考 http://delphi.ktop.com.tw/topic.php?topic_id=47733 http://delphi.ktop.com.tw/topic.php?topic_id=33007 或是多利用可本站來做搜尋.
感謝李國維大大的詳細回應 我看過這些文章之後有一點頭緒了 但是仍然有一些問題想要請教大大 就是關於worklist(工作列) 因為問這些問題的最終目的是希望做出worklist 因此假設如我上篇所述兩電腦間的資料或訊息傳遞 中間需要就由worklist做為媒介並記錄呢 還是傳遞歸傳遞 由兩個做傳遞的程式去向worklist報備做紀錄呢 最後還有一個小問題~
李國維
高階會員


發表:42
回覆:287
積分:235
註冊:2003-02-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-26 14:01:50 IP:220.130.xxx.xxx 未訂閱
引言: 感謝李國維大大的詳細回應 我看過這些文章之後有一點頭緒了 但是仍然有一些問題想要請教大大 就是關於worklist(工作列) 因為問這些問題的最終目的是希望做出worklist 因此假設如我上篇所述兩電腦間的資料或訊息傳遞 中間需要就由worklist做為媒介並記錄呢 還是傳遞歸傳遞 由兩個做傳遞的程式去向worklist報備做紀錄呢 最後還有一個小問題~ 由>< face="Verdana, Arial, Helvetica"> wen142: 不好意思我不是很懂你所謂WorkList的定義. 至於你所述兩電腦間的資料或訊息傳遞 中間需要就由worklist做為媒介並記錄呢 還是傳遞歸傳遞由兩個做傳遞的程式去向worklist報備做紀錄呢 理論上都是可行的.這是屬於你軟體架構的部份. 因為我不了解.所以很難去判斷好壞. 如果方便的話.可以麻煩你描述清楚一點軟體需求跟架構嗎? 最後.我沒實做過HOOK.所以很難去描述清楚.但是就Windows的Message而言. 每一個Message都會有一個代碼.所以說應該可以利用代碼來判斷Message.如果是需要的在處理如果不是需要的就丟回去給windows.
wen142
一般會員


發表:22
回覆:27
積分:14
註冊:2004-06-30

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-01-28 19:37:54 IP:61.31.xxx.xxx 未訂閱
引言: wen142: 不好意思我不是很懂你所謂WorkList的定義. 至於你所述兩電腦間的資料或訊息傳遞 中間需要就由worklist做為媒介並記錄呢 還是傳遞歸傳遞由兩個做傳遞的程式去向worklist報備做紀錄呢 理論上都是可行的.這是屬於你軟體架構的部份. 因為我不了解.所以很難去判斷好壞. 如果方便的話.可以麻煩你描述清楚一點軟體需求跟架構嗎? 最後.我沒實做過HOOK.所以很難去描述清楚.但是就Windows的Message而言. 每一個Message都會有一個代碼.所以說應該可以利用代碼來判斷Message.如果是需要的在處理如果不是需要的就丟回去給windows.
SORRY 大大~~ 因為有點事情所以沒有辦法上線 這麼晚才回應 BOSS給的任務是希望: 在程式與程式間或是電腦與電腦間的發收程式間 不論是資料傳遞或是傳輸,以及檔案傳遞或是傳輸 都要有所紀錄 包括上線者(使用者)、傳遞起使時間、終止時間、狀態、傳遞的檔案及路徑....許多較為繁瑣的資料 他稱這樣的東西叫worklist(他之前是在DOS上用QUEUE做) 不過很感謝大大的回應 因為參與的人比較少 所以我只能自己幻想怎麼做 如果我做出來在供大家參考吧 bcb新手上路 請多指教
系統時間:2024-05-12 7:47:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!