0

現在、単純な SmtpClient の send メソッド (非同期なし) を使用してメールを送信しています。メールの送信に約 1 分以上かかります。それで、私のガイドは、スレッドを使用してメールを送信するように私に言いました。私はグーグルとSO全体を検索し、メールを送信するためのさまざまなスレッドメカニズムがあることを知りました。どちらがより効率的でオーバーヘッドが少ないか知りたいだけですか?

私が知った様々な方法は、

  1. バックグラウンドワーカーの使用
  2. AsyncCallback の使用
  3. 新しいスレッドを作成し、手動で管理します (この方向には行きたくありません)。
  4. タスクの使用
  5. SendAsync の使用
  6. スレッドプールの使用

スレッドについての知識がほとんどないので、助けてください。また、これを効率的に行う他の方法があるかどうかも提案します。

4

1 に答える 1

0

使用しているライブラリが をサポートしている場合はSendAsync、それを使用する必要があります。それ以外の場合は、.NET 4.0 の同時実行標準である TPL を使用します。

 Task.Run( () => smtpClient.Send() );
于 2013-09-21T07:10:48.173 に答える