タグ

Taskに関するtake-yuのブックマーク (11)

  • 再入門C#:コンカレントコレクション(1) - Qiita

    static async Task QueueAsync() { var orders = new Queue<string>(); Task order1 = Task.Run(() => PlaceOrderQueue(orders, "ushio")); Task order2 = Task.Run(() => PlaceOrderQueue(orders, "yamada")); Task order3 = Task.Run(() => PlaceOrderQueue(orders, "higuchi")); Task order4 = Task.Run(() => PlaceOrderQueue(orders, "taro")); Task.WaitAll(order1, order2, order3, order4); while(orders.Count != 0) { Co

    再入門C#:コンカレントコレクション(1) - Qiita
  • 【Unity】一定時間後にスクリプトの処理を呼び出す方法まとめ - Qiita

    この記事について 古い記事のPVが未だにそれなりにあるので、2021年現在のやり方で書き直してみました。 2024年版として書き直しました。 やりたいこと 「スクリプトの実行タイミングを操作したい」です。 つまり一定時間後に指定した処理を実行するといった処理をどう書くか紹介します。 先に結論 UniTaskを使いましょう。 Unity標準機能だけでも実現はできますが、柔軟性が無かったりパフォーマンスが出ない場合があります。 UniTaskを使えばだいたい解決します。 標準機能のみで書く場合 外部ライブラリを用いず、UnityやC#の機能のみで記述する場合のやり方。 処理をN秒後に実行したい Invokeを使う MonoBehaviour.Invoke()メソッドを使うことで指定した処理を一定秒数後に呼び出すことができます。 引数には対象のメソッド名を指定します(nameofで指定すると便利

    【Unity】一定時間後にスクリプトの処理を呼び出す方法まとめ - Qiita
  • .NET 6:非同期の改善

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    .NET 6:非同期の改善
  • 【Unity】非同期処理を簡単に記述できる「UniTask」の使い方をいくつか紹介 - コガネブログ

    はじめに 「UniTask」を Unity プロジェクトに導入することで 非同期処理を簡単に記述できるようになります この記事では「UniTask」の使い方をいくつか紹介していきます 目次 はじめに 目次 検証環境 導入方法 使用例 Resources.Load を非同期で待つ シーンの読み込みを非同期で待つ 指定したフレーム数待つ 指定した秒数待つ コルーチンを待つ 指定した条件が true になるまで待つ 指定した条件が false になるまで待つ 自作の非同期メソッドを待つ UnityWebRequest を待つ 進捗を取得する 3D の当たり判定を待つ 2D の当たり判定を待つ ボタンが押されるのを待つ Awake、Start、OnDestroy を待つ OnEnable、OnDisable を待つ AsyncLazy(非同期遅延初期化)を書く すべての非同期処理が終わるまで待つ

    【Unity】非同期処理を簡単に記述できる「UniTask」の使い方をいくつか紹介 - コガネブログ
  • C# Taskの待ちかた集 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    C# Taskの待ちかた集 - Qiita
  • Cancellation Token について調べてみる

    非同期を扱うメソッドで、CancellationToken というのが時々登場しますが、なんとなくしかわかっていなかったので、ちょっとサンプル作って試してみました。とっても簡単でした。 Program.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CancellationSample { class Program { static void Main(string[] args) { new CancelSample().ExecAsync(); Console.ReadLine(); } } } using System; using System.Collections.Ge

    Cancellation Token について調べてみる
  • return Task.FromResult(default(object));の意味を教えてください

  • C# 今更ですが、await / async - Qiita

    はじめに 今更すぎて、この記事自体存在価値がなさそう… C#のスレッド(非同期処理)は、他の言語では見ない類稀な構文であるため、かなり難しいと思います。さらにawait / asyncを使うと、プログラムに書かれていない部分にも意識を回す必要があり、初心者には厳しい関門でしょう。スレッド自体の考え方やできることは言語によらずあまり変わらないのですが、C#での表現方法(文法)が独特であるのと、GUIプログラミングという鬼門の分野があるからでしょう。 スレッドを理解するために、押さえておきたいポイント 文法やプログラムの例から始めようと思ったのですが、スレッドを理解するには、その考え方や注意点などプログラムの裏側にあるものを知らなければならないと思うので、まず理解する上で押さえておくべきポイントをを上げたいと思います。 ポイント1:スレッドをどう起動するのか? ポイント2:スレッドの終了をどう

    C# 今更ですが、await / async - Qiita
  • async/awaitと同時実行制御

    C# 5.0のasync/awaitを使うと、多くの場面ではシングル スレッド的な動作になるし、多くの場面ではlock不要(結果的に、デッドロックが起こりようなくなる)になったりします。 ただし、「多くの場面で」。「必ず」ではないのがはまりどころ。いくつかの場面では、同時実行制御が必要です(普通にマルチスレッドの平行実行になるので、同時に同じデータにアクセスされる可能性を考慮しないとバグります)。 前提知識 いくつか、C# 5.0世代の非同期処理についての前提知識は、以下のスライド(先月末の.NETラボでの発表)を参考にしてください。 5~12ページ: async/awaitの書き方 17~22ページ: スレッドとそのコスト 24~26ページ: スレッド プール 29~32ページ: I/O完了待ちと非同期API 36~40ページ: UIスレッドとディスパッチャー 41~45ページ: 同期コ

    async/awaitと同時実行制御
  • 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
  • 【Unity開発者向け】「SynchronizationContext」と「Taskのawait」 - Qiita

    はじめに Unity 2018から.NET 4.6がstableになり、async/awaitやTask使いこなせるようになっておく必要がでてきました。 今回はそれらの裏に隠れている、SynchronizationContextという機構とその使い方について紹介します。 なお、この記事はUnity2018.1bを基準に書いています。 SynchronizationContextとは何なのか SynchronizationContextとは、ざっくり説明すると「指定した処理を指定したスレッドで実行するために用いるオブジェクト」です。 非同期処理を実行する場合、あるスレッドから別スレッドに処理を移譲することになります。 このとき、「非同期処理が終わったときに元のスレッドに処理を戻す」という需要が発生します。 これを解決するのがSynchronizationContextというオブジェクトです。

    【Unity開発者向け】「SynchronizationContext」と「Taskのawait」 - Qiita
  • 1