golang 多核测试
package main import ( "fmt" "runtime" "time" ) func main() { //runtime.GOMAXPROCS(n) 其中n是整数, //指定使用多核的话,goroutins都是在一个线程里的,它们之间通过不停的让出时间片轮流运行,达到类似同时运行的效果 //多线程时切换,当一个goroutine发生阻塞,Go会自动地把与该goroutine处于同一系统线程的其他goroutines转移...阅读全文
package main import ( "fmt" "runtime" "time" ) func main() { //runtime.GOMAXPROCS(n) 其中n是整数, //指定使用多核的话,goroutins都是在一个线程里的,它们之间通过不停的让出时间片轮流运行,达到类似同时运行的效果 //多线程时切换,当一个goroutine发生阻塞,Go会自动地把与该goroutine处于同一系统线程的其他goroutines转移...阅读全文
最近想使用golang开发一款win下面的工具,但ui这一块就比较麻烦。 尝试了市场上的几个开源库,用起来都不是很顺手。 后来想到直接h5操作不就完事了嘛。h5里想怎么搞怎么搞~~~ 用户下载了 xxxx.exe文件,打开后直接在h5里操作,后台开启一个scoket监听与它交互。 先来体验一下运行后的效果: ### v2.0版 改版后直接浏览器内操作即可 ![](https://tva1.sinaimg.cn/large/008i3skNly1gt4rg43sqgj30...阅读全文
# noGCMapIndex 对于大型map,比如总数达到千万级别的map,如果键或者值中包含引用类型(string类型,结构体类型,或者任何基本类型+指针的定义 *int, *float 等),那么这个MAP在垃圾回收的时候就会非常慢,GC的周期回收时间可以达到秒级。 所以对于这种map需要进行优化,把复杂的不利于GC的复杂map转化为基础类型的 map[uint64]int+外部二级索引切片的形式。比如 map[string]intercace{} 转换为 map[uint64...阅读全文