会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
蟒城贝勒爷
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
9
10
···
12
下一页
2018年9月20日
[GO]使用select实现超时
摘要: 打印的结果
阅读全文
posted @ 2018-09-20 10:45 蟒城贝勒爷
阅读(198)
评论(0)
推荐(0)
编辑
[GO]使用select实现斐波那契
摘要: 执行的结果
阅读全文
posted @ 2018-09-20 10:26 蟒城贝勒爷
阅读(151)
评论(0)
推荐(0)
编辑
[GO]ticker的使用
摘要: 执行的结果为
阅读全文
posted @ 2018-09-20 09:23 蟒城贝勒爷
阅读(555)
评论(0)
推荐(0)
编辑
2018年9月19日
[GO]定时器的停止和重置
摘要: 这段代码执行后不会打印任何东西,因为主协程和子协程的执行几乎是同时的,那么它的打印自然不会被执行。 还有一个重置的例子
阅读全文
posted @ 2018-09-19 17:50 蟒城贝勒爷
阅读(1528)
评论(0)
推荐(0)
编辑
[GO]等待时间的使用
摘要: package main import ( "time" "fmt" ) func main() { <-time.After(2*time.Second) //这个方法表示的是在此等待2秒,并返回一个通道,很常用 fmt.Println("时间到。。。。") time.Sleep(2*time.Second) fmt.Println("时间...
阅读全文
posted @ 2018-09-19 17:19 蟒城贝勒爷
阅读(1706)
评论(0)
推荐(0)
编辑
[GO]timer的应用
摘要: 执行的结果为 timer的触发事件本来就是一次性的,来验证一下 如果不是一次性的,那么它应该不断的打印"时间到" 执行结果为 死锁了。。。。确实是一次性的
阅读全文
posted @ 2018-09-19 17:11 蟒城贝勒爷
阅读(123)
评论(0)
推荐(0)
编辑
[GO]单向channel和应用
摘要: var ch1 chan int //ch1是一个正常的channel,不是单向的 var ch2 chan <- float64 //ch2是一个单向的channel,只用于写float64的数据 var ch3 <- chan int //ch3是一个单向的channel,只用于读取int数据
阅读全文
posted @ 2018-09-19 16:32 蟒城贝勒爷
阅读(1199)
评论(0)
推荐(1)
编辑
[GO]通道的关闭
摘要: 并不是往通道里放多少次数据,就必须取多次少数据的(之前的例子都是放3次取3次,放10次取10次),我们可以做一个操作,当子协程没有新放入的时候,主协程不再去取,这就是关闭通道 执行结果
阅读全文
posted @ 2018-09-19 14:56 蟒城贝勒爷
阅读(572)
评论(0)
推荐(0)
编辑
[GO]有缓冲通道
摘要: 有缓冲通道就是在有能力保留数据的通道,那么通道在满的时候或者通道是空的时候,存数据和取数据就会发生阻塞 执行的结果 在主协程等待的2秒内,子协程完全可以进行3个值的写入,因为循环只有3次,所以才会看到这样的结果,但如果主协程和子协程都循环10次呢 因为是并发的执行,所以在每次执行的结果并不是完全一样
阅读全文
posted @ 2018-09-19 14:38 蟒城贝勒爷
阅读(270)
评论(0)
推荐(0)
编辑
[GO]无缓冲通道(unbuffered channel)
摘要: 无缓冲通道(unbuffered channel)是指在接收前没有能力保存任何值的通道,在之前的例子中使用的都是无缓冲通道,需要注意的是,对于无缓冲通道而言,不管是往通道里写数据还是从通道里读数据,都会造成阻塞,并且通过len或者cap函数,得到的结果都为0,看下面的例子 执行的结果为 对于结果的理
阅读全文
posted @ 2018-09-19 11:40 蟒城贝勒爷
阅读(501)
评论(0)
推荐(0)
编辑
上一页
1
2
3
4
5
6
7
8
9
10
···
12
下一页
公告