Golang crypto/rand スレッドは安全ですか?

王林
リリース: 2024-02-09 12:45:08
転載
964 人が閲覧しました

Golang 加密/兰德线程安全吗?

Golang は、その効率性と同時実行性で知られるプログラミング言語です。ただし、Golang の暗号化とスレッドの安全性は常に開発者の焦点でした。この記事では、php エディターの Banana が、Golang 暗号化と Golang スレッド セーフについていくつかの意見と提案を共有します。開発者が Golang をよりよく理解して適用できるように、Golang の暗号化機能とスレッドの安全性を確保する方法を検討します。初心者でも経験豊富な開発者でも、この記事は貴重な情報とガイダンスを提供します。

質問内容

math/rand.rand のソースには、read はスレッドセーフではないと記載されています (ソース共有時)。仮想通貨/ランドはどうですか?ソース コードには、getrandom(2) または /dev/urandom を使用していると記載されていますが、同時呼び出しで何が起こるかは不明です。

更新: コメントは違いを明確にするのに役立ちます

リーリー

スレッドの安全性:

  1. 同時呼び出しreadパニックになりますか?
  2. 同時に呼び出された場合、ランダムな順序は維持されますか?それとも、重複したコンテンツを同時呼び出し者に提供できますか?
  3. #########解決######

rand.Reader

    (
  1. crypto/rand から) 「グローバル暗号的に安全な乱数生成器」共有インスタンスとして定義されているため、同時アクセスに対して安全でなければなりません」。パッケージ間でその使用状況を同期する方法はありません。 crypto/rand
  2. rand.Read
  3. は安全です。rand.Reader は安全であり、他の共有にはアクセスしないためです。状態。

以上がGolang crypto/rand スレッドは安全ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!