ホームページ >バックエンド開発 >Golang >Go では、SyscallConn() が通常の *os.File に対して役立つのはどのような場合ですか?

Go では、SyscallConn() が通常の *os.File に対して役立つのはどのような場合ですか?

王林
王林転載
2024-02-05 23:30:03851ブラウズ

在 Go 中,什么时候 SyscallConn() 对常规 *os.File 有用?

質問の内容

SyscallConn() (*os.File## 上) の使用方法に関する説明を読んでいます。 # 定義された関数) Go コード (https://github.com/KarpelesLab/reflink より): リーリー

この例では、

d.Fd()s.Fd() を直接使用する代わりに、これらの Control() 関数を使用します。利点はありますか? ?より一般的には、 func func (*os.File) SyscallConn() (syscall.RawConn, error) は何に使用されるのでしょうか?


正解


##file.Fd()

ファイル記述子を返します。これにより、ファイル記述子がブロッキング モードで実行されます (スレッドを占有します)。操作をブロックするため)。 SyscallConn はこれを行いません。実際、これはファイル記述子をブロックせずに取得するために特別に作成されました。詳細については、この質問を参照してください

以上がGo では、SyscallConn() が通常の *os.File に対して役立つのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。