あなたが尋ねるのは、まさにタスクがすでに行っていることです。Task は基本的にラムダのラッパーであり、デフォルトでは ThreadPool で実行するためにキューに入れられます。その上、タスクは、継続、例外処理、キャンセル、およびマルチスレッドをより簡単にする多くの便利な機能を追加します。
ThreadPool を使用したくない場合は、独自のTaskSchedulerを作成し、新しいタスクを作成するときにそれを使用できます。TaskScheduler は基本的に Task を受け取り、実行のためにスケジュールします。
デフォルトの TaskScheduler は、ThreadPool.QueueUserWorkItem に加えて、ワークスティーリング マジックと複数のキュー処理を使用します。他の実装では、優先キューを使用したり、スレッドの最大数または最小数に独自の制限を設定したり、作成者が使用したい任意の手法を使用したりできます。
編集
ポータブル部分は最初から気がつきませんでした 。質問は、「PCL は ThreadPool を使用する TaskScheduler を提供するのか、それとも独自に作成する必要があるのか」ということです。
.NET 4+ は ThreadPoolTaskScheduler を提供します。残念ながら、これは PCL サブセットから欠落しているようです。独自の TaskScheduler を作成するか、Nuget Package を使用してプラットフォーム固有の実装を追加する必要があるようです。
どういうわけか、ThreadPoolTaskScheduler は Windows Phone プロジェクトには適していないと思います
Resharper と .NET のデバッグ シンボルを使用して掘り下げた後、PCL は利用可能なプラットフォームの TaskScheduler 実装を単独で検出すると思います。
.NET 4.0 では、TaskScheduler.Default は内部 BCL クラスである ThreadPoolTaskScheduler のインスタンスを返します。PCL サブセットでは、TaskScheduler.Default は null を返し、ThreadPoolTaskScheduler は使用できません。
ThreadPoolTaskScheduler のソース コードは、おそらく Microsoft の参照ソース サーバーから入手できますが、dotnetframework.orgですばやく参照することもできます。
新しいタスクを返す PCL クラスを作成し、それを .NET 4.5 コンソール アプリケーションから呼び出して、使用する TaskScheduler を確認しました。PCL クラスが実際に ThreadPoolTaskScheduler を使用していることがわかりました。
Windows 8 または Windows Phone 8 プロジェクトでこれを試したことはありませんが、各プラットフォームの既定の TaskScheduler を取得できると思います。