作者liquidcrysta (crystal)
看板C_and_CPP
標題[問題] 關於Callback function是否一定在New thread下執行
時間Mon Mar 21 13:49:32 2011
開發平台(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
推 stosto:應該要先停止thread的動作 不然callback應該會持續的送訊息 03/24 02:11
推 stosto:然後release object~ 03/24 02:17
→ stosto:改成NULL應該是變成這個object沒有使用callback 03/24 02:18
→ stosto:如果object裡面需要Callback去設定資料或者存取資料 03/24 02:19
→ stosto:就會發生不可預期的錯誤,所以應該是release object時才停 03/24 02:20
→ stosto:止與刪除callback(這個應該會自動被release掉吧)有錯請指教 03/24 02:21