タグ

Taskに関するmapserver2007のブックマーク (6)

  • HttpClientをマルチスレッドで運用する場合の注意点 - Qiita

    始めに HttpClientをマルチスレッドかつ高負荷で回す時、少々ハマった点があったので、注意するべき点について書く。 シングルスレッドの場合 https://aspnetmonsters.com/2016/08/2016-08-27-httpclientwrong/ にもある通り、できる限り一つのHttpClientインスタンスで使いまわすという方法で問題はない。 実際自分もこういう風に使っていた。 マルチスレッドの場合 しかし、マルチスレッドでこれを行うと少々厄介なことになる。 実際に以下のようなメソッドを適当なWindowsマシン上で実行してみよう。(要dotnet-sdk-2.0以上) using System; using System.Net; using System.Linq; using System.Net.Http; using System.Threading.T

    HttpClientをマルチスレッドで運用する場合の注意点 - Qiita
  • Taskを極めろ!async/await完全攻略 - Qiita

    この記事は、 Task.Runを書けばとりあえず非同期で動くのはわかる 時々なんかうまく動かなかったりするけどどうして動かないのかはよくわからない よくわからないまま書いてよくわからないまま動いてるけどこれで大丈夫なのかわからなくてこわい みたいな人を対象にしています。 Taskクラスとasync/await 皆さん、非同期してますか?当然してますね。同期処理が許されるのはC#2.0までだよねーじゃなくて、async/awaitはC# 5.0から導入された、Taskクラスと紐付いた言語構文の一つです。登場はもう数年前なはずなんですが、未だに新しい言語仕様な感じがしてフシギです。それでもさすがに今は馴染んでいて、どこにでも遠慮なく飛び出てくるようになっています。 Taskの難しさ Taskは、難しいです。 Taskがというよりは、非同期処理自体が持つ複雑さが根に存在するため、いくらシンプル

    Taskを極めろ!async/await完全攻略 - Qiita
  • C# 非同期、覚え書き。 - Qiita

    記憶力の悪い自分のために、C# における非同期処理の書き方を記述しておきたいと思います。 専門家ではないので、不出来な内容でもあしからず。 目次 Task async / await 並列処理 System.Threading の便利なクラス Task 皆さんおなじみの、非同期操作を表すクラスです。 生成および実行の方法が何通りかあります。 Task.Factory.StartNew 次のようにして Task を生成、実行します。 using System; using System.Threading.Tasks; class Program { static void Main(string[] args) { var task = Task.Factory.StartNew(() => Console.WriteLine("OK")); Console.ReadLine(); } }

    C# 非同期、覚え書き。 - Qiita
  • C#でマルチスレッドのベストプラクティスって何かある?(What are the best practices with multithreading in C#?) - Qiita

    C#でマルチスレッドのベストプラクティスって何かある?(What are the best practices with multithreading in C#?)C#非同期処理StackOverflowマルチスレッド翻訳 StackExchange/Code Reviewでの質問"Exporting doc types using queues and multithreading"へのEric Lippert氏による回答より訳出。回答内容はオリジナル投稿"What are the best practices with multithreading in C#?"に呼応するため、編集前のタイトルを採用。原文および訳文のライセンスは引用元サイト規約の通り CC-BY-SA 3.0 に従う。 (補足:回答内容のトーンに合わせて口語調かつ意訳気味に訳出しました。誤訳指摘および訳出改善は歓迎

    C#でマルチスレッドのベストプラクティスって何かある?(What are the best practices with multithreading in C#?) - Qiita
  • neue cc - asyncの落とし穴Part3, async voidを避けるべき100億の理由

    だいぶ前から時間経ってしまいましたが、非同期の落とし穴シリーズPart3。ちなみにまだ沢山ネタはあるんだから!どこいっても非同期は死にますからね! async void vs async Task 自分で書く場合は、必ずasync Taskで書くべき、というのは非同期のベストプラクティスで散々言われていることなのですけれど、理由としては、まず、voidだと、終了を待てないから。voidだと、その中の処理が軽かろうと重かろうと、終了を感知できない。例外が発生しても分からない。投げっぱなし。これがTaskになっていれば、awaitで終了待ちできる。例外を受け取ることができる。await Task.WhenAllで複数同時に走らせたのを待つことができる。はい、async Taskで書かない理由のほうがない。 んじゃあ何でasync voidが存在するかというと、イベントがvoidだから。はい。b

  • Taskでスレッド作り過ぎ遊びで遊んでいました - もりぐち!!!!

    環境 Visual Studio 2010 Professional を利用しています。その他の環境では確認しておりませんのでご了承下さい。 Taskって便利ですよね ここでいうTaskは、.NET Framework4.0で追加された非同期処理ライブラリのTaskのことです。 Taskを使うと非同期処理を凄く簡単になるのでみんなも使うと良いと思います。 Taskがよくわからない人はxin9leさんのブログを見て勉強すると分かりやすいです。 http://xin9le.blogspot.com/2011/07/blog-post_08.html Taskでスレッド作り過ぎ遊び んで、こんなに簡単にスレッド作れると嬉しくなるので、みんなもどんどんスレッド作りすぎると良いと思います。 private void foo() { foreach (var i in Enumerable.Range

    Taskでスレッド作り過ぎ遊びで遊んでいました - もりぐち!!!!
  • 1