de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 Matt
Matt
Question

Bagaimana Pergi saluran dilaksanakan?

Setelah (singkat) meninjau Pergi bahasa spec, efektif Pergi, dan Pergi model memori, I'm masih kurang mengerti bagaimana saluran Pergi bekerja di bawah tenda.

Apa jenis struktur yang mereka? Mereka bertindak seperti benang-aman antrian /array.

Apakah pelaksanaannya tergantung pada arsitektur?

61 2013-10-27T17:35:32+00:00 2
Pemrograman
channel
go
Solution / Answer
 mna
mna
27 Oktober 2013 в 8:23
2013-10-27T20:23:29+00:00
Lebih
Sumber
Sunting
#22635357

File sumber untuk saluran adalah (dari anda pergi source code root) /src/pkg/runtime/chan.pergi.

hchan adalah pusat data struktur untuk saluran, dengan mengirim dan menerima daftar terkait (memegang pointer untuk mereka goroutine dan data elemen) dan tertutup bendera. Ada's Kunci tertanam struktur yang didefinisikan dalam runtime2.pergi dan yang berfungsi sebagai mutex (futex) atau semaphore tergantung pada OS. Penguncian pelaksanaannya di lock_futex.pergi (Linux/Capung/Beberapa BSD) atau lock_sema.pergi (Windows/OSX/Plan9/Beberapa BSD), didasarkan pada membangun kategori.

Saluran operasi adalah semua dilaksanakan dalam chan.pergi ke file, sehingga anda dapat melihat makechan, mengirim dan menerima operasi, serta memilih membangun, dekat, len dan topi built-in.

Untuk penjelasan yang mendalam tentang inner saluran, anda harus membaca Go saluran pada steroid oleh Dmitry Vyukov sendiri (Pergi core dev, goroutines, scheduler dan saluran di antara hal-hal lain).

 Matt
Matt
Jawaban edit 23 September 2015 в 5:07
72
0
 ayke
ayke
11 Januari 2019 в 11:52
2019-01-11T23:52:33+00:00
Lebih
Sumber
Sunting
#22635358

Berikut ini adalah bicara yang baik yang menggambarkan kira-kira bagaimana saluran yang dilaksanakan:

Berbicara deskripsi:

GopherCon 2017: Kavya Joshi - Pengertian Saluran

Saluran menyediakan mekanisme sederhana untuk goroutines untuk berkomunikasi, dan konstruk yang kuat untuk membangun canggih concurrency pola. Kami akan menyelidiki cara kerja di dalam saluran-saluran dan saluran operasi, termasuk bagaimana mereka're didukung oleh runtime scheduler dan manajemen memori sistem.

5
0
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Галина Утяшова
Terdaftar 19 jam yang lalu
2
Asilbek Qadamboyev
Terdaftar 3 hari yang lalu
3
Akshit Mehta
Terdaftar 6 hari yang lalu
4
me you
Terdaftar 1 minggu yang lalu
5
Никита иванов
Terdaftar 1 minggu yang lalu
ID
KO
RU
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi