Avatar
0
monkey Enlightened
monkey Enlightened
[Go] Tạo channel với buffer size 1 nghĩa là gì?
câu lệnh này nghĩa là gì? c := make(chan int, 1)?
  • Answer
go
Remain: 5
1 Answer
Avatar
monkey Enlightened
monkey Enlightened
Nó có nghĩa là tạo ra 1 channel với tối đa 1 phần tử tồn tại trong bộ nhớ đệm, từ phần tử thứ 2 trở đi thì sẽ phải đợi cho đến khi nào có 1 luồng khác tiêu thụ dữ liệu trong channel thì mới thêm vào được. Ví dụ:

c := make(chan int, 1)
c <- 1 // thêm thành công
c <- 2 // đợi cho đến khi 1 bị tiêu thụ
  • 0
  • Reply
Nếu buffer 1 thì nó giống make(chan int) à bác?  –  Nguyễn Đức Thái 1632557192000
nếu buffer = 0 thì giống make(chan int) bạn ạ  –  tvd12 1632557314000