【非同期処理】Pythonの async / await 構文を使ってみよう!
Вставка
- Опубліковано 21 лип 2024
- Pythonプログラミングに関する情報を発信しているサプーです!
この動画はPythonの非同期処理 async / await構文について解説している動画です!
・async / await とは?
・どうやって非同期に処理を実行させるの?
これらについて説明しています💙
実際にAzureのPythonSDKを使って非同期のファイルダウンロードを行なっているので、最後まで見てもらえたら嬉しいです😊
💙 メンバーシップ 💙
説明動画 ▶︎ • 【ご報告】本日からメンバーシップ開始します!...
登録 ▶︎ / @pythonvtuber9917
iPhoneの方はこらから ▶︎ PythonSuppl/statu...
💻環境💻
Python 3.10
Windows 10
🎥 関連動画 🎥
並列処理 ▶︎ • 【Pythonプログラミング】並列処理の基本...
⭐️ チャプター ⭐️
0:00 オープニング
0:31 非同期処理 async / awaitとは?
3:06 awaitで待つ
7:55 taskで並行処理
9:24 gather
10:35 run_in_executor
12:13 タイムアウト
13:30 Azureの非同期ファイルダウンロード
16:37 エンディング
💜 チャンネル説明 💜
Pythonプログラミングについて解説するVtuber サプーです✨
初心者でも分かりやすく、Pythonを体系的に学習できるような動画をアップロードしていきます!
みんなが少しでもPythonが好きになってくれたら嬉しいな💕
Twitterもやってるので、フォローお願いします!
Twitter ▶︎ / pythonsuppl
メール ▶︎ python.supu.vtuber@gmail.com
#非同期処理
#async
#await
#python
#パイソン
#PythonVTuberサプー - Наука та технологія
サプーさんの分かりやすい動画でPythonの理解が深まったので、久しぶりの更新嬉しいです!
ありがとうございます!時間がとれず更新間隔が空いてしまいがちですが、秋以降も少しずつ出していきたいです!
非同期処理UPありがとうございます✨応用できるように勉強させていただきます!
勉強のお役に立っていたら嬉しいです!
久しぶりの動画嬉しすぎる!!
そう言ってもらえて嬉しいです!秋以降も定期的に出せるよう頑張りたいです!
ありがとうございます!
参考にしてもらえたら嬉しいです!
DiscordBotでちょうど非同期処理扱っていたところだったので参考にします!
DiscordのPython APIにもコルーチンありますね!ぜひ、参考にしてもらえたら嬉しいです!
サプーさんお久しぶりです!
今回のasync/await紹介めっちゃ役立ってありがとうございます!
使いやすい構文ですね。
質問あります。
async/awaitはthreadingとmultiprocessingと似てますが、どんな場合でどっち使いほうがいい?
おひさしぶりです!!
私の場合ですが、使い分けはCPUバウンドの場合はmultiprocessing、I/Oバウンドの場合でデータ共有がある場合はthreading、I/Oバウンド・APIやライブラリ呼び出しでasync/await構文を使える時にasync/awaitを使うかなー、と思います!
お久しぶりですね
おひさしぶりです!
ひさしぶりです!
お久ぶりです!
質問です。7:20辺りのfunctionの引数にどの辺りで値を返していますか?
11~12行目辺りですか?
そうです!11~12行目のresult_1= とresult_2=の部分に代入されます!
どういう違いなのか分かりませんが、タイムアウトの所でfunction_1の中身をloop.run_in_executorを使う方のままにしておくと3秒で「タイムアウト」と「main終了」は表示されますが、その後プログラム終了するまでは結局10秒待つような動きになりますね。asyncio.run(main())の次の行にprint("end")とすると表示に10秒ほどかかるので
timeのsleepは協調的マルチタスク(cooperative multitasking)ではないため スレッドもイベントループも全てストップさせるためスクリプト自体が終了しないようです(StackOverflow参考)。
参考: stackoverflow.com/questions/61876399/python-asyncio-wait-for-synchronous
@@pythonvtuber9917 そうなんですね、ありがとうございます!