0

ActiveX が IE をフリーズすることについての別の質問を参照して、著者もそうであったように ActiveX を作成しました。ActiveX が何かを実行すると、IE 全体がフリーズします。他のタブを選択することはできず、タブにアクティブXが含まれている場合は閉じることができません。

作業を行うためのスレッド コードを記述できることはわかっています。しかし、私の質問は、Flash や Silverlight などの他の ActiveX では、どのように回避するのですか? 彼らがすべての作業を非同期で行っているとは思えません。おそらく彼らはすべての作業を非常に短くしているので、待ち時間に気付かなかったのでしょうか?

どんなアドバイスでも大歓迎です。ありがとう。

4

1 に答える 1

0

IE の UI スレッドで実行時間の長い操作を実行できないか、タブがハングします。UI スレッドは、コントロールがインスタンス化されるスレッドです。それは呼び出すものIObjectWithSite::SetSite()です。どんな仕事をしているのですか?長時間実行される操作には、ファイル処理、HTTP 要求、およびあらゆる種類のロックの取得が含まれます。

Flash がどのように機能するかについてのあなたの推測も間違っています。Flash は確かに複数のスレッドを使用します。

于 2012-06-27T03:45:13.900 に答える