[問題] 關於Callback function是否一定在New thread下執行

看板C_and_CPP作者 (crystal)時間13年前 (2011/03/21 13:49), 編輯推噓2(204)
留言6則, 1人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC2010 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 萬惡的 EDSDK 2.8 問題(Question): 小弟不是CS出來的, 所以對callback function 有一點小困惑 我在用EDSDK(一套控制canon相機的API)來控制相機 會用到callback function的地方大概是,舉例來說, 我呼叫相機執行拍照 相機拍完照(Asynchronous event)後會呼叫對應的callback function 可是我在API的手冊上看到這句話: "The callback function is executed on a newly generated thread The user must release objects as they become unneeded." 一般而言, 需要手動終止這條執行緒嗎? 還是這裡的objects是要把輸入的callback function的指標改成NULL? 如果寫得不清楚還請見諒!! 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 18.111.101.63

03/24 02:11, , 1F
應該要先停止thread的動作 不然callback應該會持續的送訊息
03/24 02:11, 1F

03/24 02:17, , 2F
然後release object~
03/24 02:17, 2F

03/24 02:18, , 3F
改成NULL應該是變成這個object沒有使用callback
03/24 02:18, 3F

03/24 02:19, , 4F
如果object裡面需要Callback去設定資料或者存取資料
03/24 02:19, 4F

03/24 02:20, , 5F
就會發生不可預期的錯誤,所以應該是release object時才停
03/24 02:20, 5F

03/24 02:21, , 6F
止與刪除callback(這個應該會自動被release掉吧)有錯請指教
03/24 02:21, 6F
文章代碼(AID): #1DXkRlZs (C_and_CPP)