1. ホーム
  2. python

[解決済み] パラレルPython。コールバックとは何ですか?

2022-03-02 20:26:48

質問

パラレルPython の中に何かが入っています。 サブミット という関数があります。 コールバック ( ドキュメンテーション が、あまりうまく説明されていないようです。 数日前に同社のフォーラムに投稿しましたが、返答がありません。 どなたかコールバックとは何か、何のために使うのかを説明していただけませんか?

どのように解決するのですか?

コールバックとは、APIの消費者が提供する関数のことで、APIはそれを呼び出して(コールバックして)返すことができる。例えば、医者の予約を取る場合、私の電話番号を伝えれば、前日に予約の確認の電話をかけてくることができる。コールバックは、電話番号の代わりに、「このアドレスにメールを送ってくれ、秘書にも電話してカレンダーに登録しておいてくれ」というような任意の指示を与えることができるという点で、似ています。

コールバックは、アクションが非同期であるような状況でよく使われます。ある関数を呼び出してすぐに作業を続ける必要がある場合、何が起こったかを知るためにその戻り値をじっと待つことはできないので、コールバックを提供します。関数が完全に非同期処理を終えたら、あらかじめ決められた引数(通常は、あなたが提供する引数と、あなたが要求した非同期処理の状態や結果に関する引数)を使ってコールバックを呼び出します。

医師が外出中であったり、まだスケジュールを調整中であったりする場合、医師が戻ってくるまで数時間待たされるよりも、電話を切り、予約が取れた時点で電話をかけてきてもらう方がよいでしょう。

この場合、Parallel Pythonのsubmit関数は、あなたが指定した引数でコールバックを呼び出し、その結果 func は、一度 func が実行を終了しました。