2020
02-18
02-18
Go语言之并发 HOT
Go语言的并发同步逻辑来自一个叫做通信顺讯进程(CSP)的范型。CSP是一种消息传递模型,通过在goroutine之间传递数据来传递消息,而不是通过对数据进行加锁来实现同步访问。这种数据的类型叫做通道(channel) 。
继续阅读 >
PHP 代码分享
MongoDB 教程
正则表达式
jQuery 教程
JavaScript 代码片段
PHP7 教程
Go语言的并发同步逻辑来自一个叫做通信顺讯进程(CSP)的范型。CSP是一种消息传递模型,通过在goroutine之间传递数据来传递消息,而不是通过对数据进行加锁来实现同步访问。这种数据的类型叫做通道(channel) 。
继续阅读 >
worker pool其实就是线程池thread pool。对于go来说,直接使用的是goroutine而非线程,不过这里仍然以线程来解释线程池。
在线程池模型中,有2个队列一个池子:任务队列、已完成任务队列和线程池。其中已完成任务队列可能存在也可能不存在,依据实际需求而定。
继续阅读 >
defer关键字可以让函数或语句延迟到函数语句块的最结尾时,即即将退出函数时执行,即便函数中途报错结束、即便已经panic()、即便函数已经return了,也都会执行defer所推迟的对象。
继续阅读 >
1.由于可以将所有go项目放在同一个$GOPATH目录下,为了区分src下的项目目录和库文件目录,建议将每个项目目录设置深一点。
2.go install时,先进入到项目目录下。
3.库文件的名称(也是目录名)要选取合理,尽量短,但却尽量见名知意,也尽量减少名称重复的几率。
例如util这种名称到处都是,可以修改为numutil、nameutil等。
继续阅读 >
Go语言中映射是一种字典类型的数据结构,类似于 c++ 和 java 中的 hashmap,用于存储一系列无序的键值对。
• 映射是基于键来存储值。映射的优势是能够基于键快速索引数据。键就像索引一样,指向与该键关联的值,在内存中键值对的关系如下图所示。
继续阅读 >