次の方法で共有


.NET Compact Framework でスレッド

[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]

.NET Compact Framework コア機能のスレッドをサポートは、完全な .NET Framework で、次のような機能をサポートしていません。

  • 現在のスレッドで圧縮スタックへアクセス。

  • Win32 OVERLAPPED 構造体のマネージ表現。

  • 実行コンテキストを管理するクラス。

  • セマフォを使用します。

  • スレッド状態属性。

  • ほとんどのハンドルの取得を除くハンドル操作を待ちます。

.NET Compact Framework では、 ThreadStart メソッドと共に使用 Thread.Start デリゲートを使用し、 TimerCallbackTimer デリゲートを使ってサポートします。

タイムアウト パラメーターは、次のスレッドの方法で指定できます。

スレッド プール内の変更

.NET Compact Framework Version 1.0 では、スレッド プール スレッドの既定最大は 256 スレッド スタック サイズが 64 KB のです。 .NET Compact Framework Version 2.0 以降のバージョンで、この制限は 25 のスレッドのスタック サイズが 128 KB より近いフル .NET Framework の機能の最大数に減少します。

HTTP 要求は失敗し、例外をスロー、スレッド プールに利用可能なスレッドがない場合。 次の表この状況でのメインの例外は示しています。

例外

条件

OutOfMemoryException

ユーザーのコールバックをキューにできません。

WebException

この操作を完了するスレッド プール内に不足スレッド。

同時 Web 要求の数を減らしますかスレッド プール内のスレッドが上限を増やす、またはスレッドの不足を回避できます。 .NET Compact Framework 2.0 SetMaxThreads メソッドをサポートします。 次の表は、そのパラメーターを指定します。

引数

説明

workerThreads

スレッド プール内のワーカー スレッドの最大数。 任意の値これを入力できます。

completionPortThreads

スレッド プール内の非同期スレッドの最大数。 .NET Compact Framework は現在、この値を無視が 1 ~ 1, 000 設定する必要があります。 将来の互換性、フル .NET Framework の既定値はため、500 は勧めします。

デバイスの .NET Compact Framework 1.0 を実行している場合が最大スレッド プール内のスレッドのレジストリ設定を変更して減らすことができます。 キーを CFROOT\ThreadPool、目的の値をでの MaxThreads を設定します。 .NET Compact Framework の以降のバージョンではこのレジストリ キーを使用しないこと注意ください。

参照

参照

System.Threading

その他の技術情報

.NET Compact Framework でアプリケーションの開発