0.import "log"とは
Golangの標準ライブラリのパッケージの一つ、このパッケージはプログラムの実行時にメッセージを出力するための基本的な記録機能を提供してくれる
1.sync.Mutexについて
sync.Mutex
はデッドロックを回避するための変数ではなく、デッドロックを回避するためのツールです。デッドロックは、複数のプロセスやスレッドがお互いを待ち合う状態に陥る問題です。sync.Mutex
は、相互排他制御を行う際に使用され、データの競合を防ぐことでデッドロックを回避するのに役立ちます。
デッドロックを回避するためには、以下のような原則に従うことが重要です:
- ロックを必要な最小限の範囲で維持する。
- ロックの順序を一貫して守る。
- ロックを再帰的に取得する場合、適切にリリースする。
sync.Mutex
は、これらの原則に従って使用することで、デッドロックを回避するのに役立ちます。しかし、その使用方法によっては依然としてデッドロックの危険があるため、慎重な設計と実装が必要です。
2.http.HandleFunc関数について
HTTPリクエストを処理するためのハンドラ関数
http.HandleFunc(パス,そのパスに対する処理を行うハンドラ関数)
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request)
の場合"/"がルートパスで、func(w http.ResponseWriter, r *http.Request)がハンドラ関数
3.ハンドラ関数とは
特定のイベントやリクエストに対して実行される関数のこと
プログラム内で特定のイベントが発生したときに呼び出され、そのイベントに対応した処理を行う。