none
不能有thread 的程式 RRS feed

  • 一般討論

  • 我最近接了一個專案

    那個API 不能用 thread 去呼叫

    一定是要用  Main thread 去呼叫

    請問  有辦法  在不用thread 的情況 

    在只有  Main thread 模擬  thread 嘛?!

    或者其它方法來做嘛?!

    • 已變更類型 Bill ChungMVP, Moderator 2012年2月19日 上午 04:57 發問者未繼續提供詳細資料, 因此石沉大海
    2012年2月13日 下午 12:56

所有回覆

  • 要用 Main thread 去呼叫API, 不就是直接呼叫API即可?
    2012年2月13日 下午 01:33
  • 為什麼不能用 Thread 呼叫 ?

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2012年2月13日 下午 01:48
    版主
  • 請問直接Call API,會有什麼問題嗎? 您有一定要用thread嗎?

    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2012年2月13日 下午 01:56
  • 請問直接Call API,會有什麼問題嗎? 您有一定要用thread嗎?

    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    您好  因為 我怕會一直呼叫  API  會讓 畫面 頓頓的  所以 才想用 multiThread

      可是 廠商說 他的元件 不可以用在 multiThread 上

      一定要直接用 main thread 呼叫

      但他的 API 不會有blocking

      所以 我不知程式要有如何的架構了  因為不能用 multithread 防止畫面頓頓

    2012年2月13日 下午 02:27
  • 視覺元件還是怎樣的元件?


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    2012年2月13日 下午 02:52
  • 視覺元件還是怎樣的元件?


    論壇是網友平等互助 保證解答請至 微軟技術支援服務


    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。

    其實就是  下單的function

    ex: newOrder(xxxx)

    newOrder 會呼叫很多次 且newOrder 只能在 主執行緒呼叫

    這樣會不會讓畫面變的頓頓的 還是有其它方法 

    2012年2月13日 下午 02:55
  • 如果真的不能用 thread (不曉得你是不是真的有測過, 有出怎麼樣的例外) , 你又擔心會影響主執行緒,有一種變通的解法

    寫成兩個不同的程式, 一個負責UI, 一個負責搞那個API , 讓這兩個程式互相通訊.


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2012年2月13日 下午 05:06
    版主
  • 如果真的不能用 thread (不曉得你是不是真的有測過, 有出怎麼樣的例外) , 你又擔心會影響主執行緒,有一種變通的解法

    寫成兩個不同的程式, 一個負責UI, 一個負責搞那個API , 讓這兩個程式互相通訊.


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    我利用 MSMQ 去傳資料給另外一支程式結果  MSMQ  因為要連續去抓資料也起了thread

    ex:

    mq.ReceiveCompleted += new System.Messaging.ReceiveCompletedEventHandler(msgQueue_ReceiveCompleted);

    請問  這有辦法解嘛 

    因為 我有下 mq.beginReceive();

    就變成另外一個thread了

    • 已編輯 布利 2012年2月14日 上午 04:04
    2012年2月14日 上午 04:01
  • 如果沒法在另一個Thread執行, 看來只有 API 原作者有解, 這就像你不可能期待開著一台量產的國民車在F1賽道和其它F1車隊比賽一樣的道理.

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2012年2月14日 上午 04:12
    版主
  • 如果沒法在另一個Thread執行, 看來只有 API 原作者有解, 這就像你不可能期待開著一台量產的國民車在F1賽道和其它F1車隊比賽一樣的道理.

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    您形容的太好了 

    我打給廠商  他只說  一定有解的 

    但 怎麼解  自己想辦法

    他說它的API  不會 blocking 所以用main thread 就好了 

    唉  只好硬著頭皮上啦

    2012年2月14日 上午 04:30
  • 你怎麼不寫個測試的範例, 讓它在Thread中被呼叫, 然後看看會出什麼問題, 這樣也比較容易找出具體的解決方法 (搞不好也可能真的無解)

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2012年2月14日 上午 04:32
    版主
  • 你怎麼不寫個測試的範例, 讓它在Thread中被呼叫, 然後看看會出什麼問題, 這樣也比較容易找出具體的解決方法 (搞不好也可能真的無解)

    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    我有寫啊  就是起thread後他用c 包的COM 元件 就會出現 instance  有 exception

    問廠商 他是說他用 singleton 的寫法

    所以 他的COM 元件 只能在主程序中用

    還是很謝謝您的回應 

    2012年2月14日 上午 04:36
  • 那就Call 它的頻率別那麼高,再提供一個Refresh Button給User去按,再馬上Call。如,

    每次更新時間為5分鐘

    下次更新時間:...

    馬上更新 Button


    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2012年2月14日 上午 04:50