golang fatal error: concurrent map read and map write

go语言切片slice的线程协程安全问题 一、map并发读写问题 如果map由多协程同时读和写就会出现 fatal error:concurrent map read and map write的错误 如下代码很容易就出现map并发读写问题 func main(){ c := make(...

2018-11-06 16:43:59

阅读数:12

评论数:0

golang defer return执行先后顺序

Go语言中延迟函数defer充当着 cry...catch 的重任,使用起来也非常简便,然而在实际应用中,很多gopher并没有真正搞明白defer、return和返回值之间的执行顺序,从而掉进坑中,今天我们就来揭开它的神秘面纱! 先来运行下面两段代码: A. 无名返回值的情况   ...

2018-11-06 16:42:02

阅读数:8

评论数:0

mysql ERROR 1045 (28000): (using password: YES)问题解决

限制ip连接范围了,只限制本地连接 查看用户: mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; +-----------------------------...

2017-12-22 12:27:55

阅读数:329

评论数:0

time.After 在select-case中使用的正确姿势

前言 select 的语法如下所示 每个case都必须是一个通信 所有channel表达式都会被求值 所有被发送的表达式都会被求值 如果任意某个通信可以进行,它就执行;其他被忽略。 如果有多个case都可以运行,Select会随机公平地选出一个执行。其他不会执行。 否则:如果有defau...

2017-11-16 12:07:59

阅读数:134

评论数:0

移动场景下通信协议Json,FlatBuffers、ProtocolBuffers、MessagePack选优

写文章注册登录 首页 下载App 移动场景下通信协议FlatBuffers、ProtocolBuffers、MessagePack选优   爱唱歌的王小猫 关注 2017.04.05 19:26 字数 2828 阅读 562评论 0喜欢 2 大家都知道...

2017-11-15 17:51:43

阅读数:124

评论数:0

日志采集系统filebeat输出到logstash配置

关于elk框架介绍参考链接:https://www.zybuluo.com/dume2007/note/665868 filebeat输出到logstash(filebeat汇集日志数据到logstash) filebeat配置: /etc/filebeat/filebeat.yml...

2017-11-03 16:46:49

阅读数:3309

评论数:0

golang修改struct数组问题

struct数组修改结构体值:// 11111111 project 11111111.go package main import ( "fmt" ) type Bid struct { CRID string ImpID string } func main(...

2017-09-26 18:27:35

阅读数:1578

评论数:0

golang DES跟base64相结合加解密

// DEStest project DEStest.go//注意base64对中文不同编码加解密结果不一样,即UTF-8跟GBK package main import ( "bytes" "crypto/cipher" "crypto/...

2017-06-19 16:41:51

阅读数:1366

评论数:0

golang 匿名函数用法

// http://studygolang.com/articles/3756 package main import (     "fmt" ) func main() {     c := func() int {         fmt.Printf("fu...

2017-03-15 12:26:25

阅读数:847

评论数:0

golang生成唯一标识id

package main import ( "crypto/md5" "crypto/rand" "encoding/base64" "encoding/hex&...

2017-03-03 11:29:10

阅读数:7946

评论数:0

golang reflect简单使用

C:/Go/bin/go.exe build -i [F:/Go/src/reflect] 成功: 进程退出代码 0. F:/Go/src/reflect/reflect.exe [F:/Go/src/reflect] string this is string -----------------...

2017-02-22 17:09:45

阅读数:287

评论数:0

golang grpc服务端客户端简单源码实现

协议 hello.proto 文件: syntax = "proto3"; package hello; message HelloRequest {     string greeting = 1; } message HelloResponse {     strin...

2017-02-16 18:32:11

阅读数:407

评论数:0

golang中并发sync和channel

golang中实现并发非常简单,只需在需要并发的函数前面添加关键字"go",但是如何处理go并发机制中不同goroutine之间的同步与通信,golang 中提供了sync包和channel机制来解决这一问题. sync 包提供了互斥锁这类的基本的同步原语.除 Once 和 Wai...

2016-09-03 15:45:49

阅读数:302

评论数:0

Go tcp通信

//server端 package main import ( "fmt" "net" "os" "strconv" "strings" "time" //&q...

2016-08-11 21:37:30

阅读数:603

评论数:0

如何处理被中断的系统调用

1. 术语 1.1. 慢系统调用(Slow system call) 该术语适用于那些可能永远阻塞的系统调用。永远阻塞的系统调用是指调用永远无法返回,多数网络支持函数都属于这一类。如:若没有客户连接到服务器上,那么服务器的accept调用就会一直阻塞。 慢系统调用可以被永久阻塞,...

2016-08-05 17:36:41

阅读数:1173

评论数:0

STL实现的底层数据结构简介

C++ STL 的实现: 1.vector  底层数据结构为数组 ,支持快速随机访问 2.list    底层数据结构为双向链表,支持快速增删 3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问...

2016-08-05 15:26:50

阅读数:260

评论数:0

关于socket阻塞与非阻塞情况下的recv、send、read、write返回值

recv: 阻塞与非阻塞recv返回值没有区分,都是 0接收到数据大小, 特别:非阻塞模式下返回 值  只是阻塞模式下recv会阻塞着接收数据,非阻塞模式下如果没有数据会返回,不会阻塞着读,因此需要 循环读取。 write: 阻塞与非阻塞write返回值没有区分,都是 0发送数据大小, ...

2016-08-05 11:11:36

阅读数:148

评论数:0

IO之阻塞与非阻塞比较

在网络程序中遇到的一些问题进行了总结, 这里主要针对的是我们常用的TCP socket相关的总结, 可能会存在错误, 有任何问题欢迎大家提出. 对于网络编程的更多详细说明建议参考下面的书籍 《UNIX网络编程》 《TCP/IP 详解》 《Unix环境高级编程》 非阻塞IO和阻塞IO: ...

2016-08-04 15:35:09

阅读数:130

评论数:0

nanosleep()函数使用

nanosleep()函数会导致当前的线程将暂停执行,直到rqtp参数所指定的时间间隔。或者在指定时间间隔内有信号传递到当前线程,将引起当前线程调用信号捕获函数或终止该线程。 #include #include #include #include void* pthread_do(vo...

2016-07-08 16:24:13

阅读数:771

评论数:0

static作用

1>隐藏: 如果加了static,就会对其他源文件隐藏。利用这一特性可以在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。 静态局部变量只能被其作用域内的变量或函数访问。也就是说虽然它会在程序的整个生命周期中存在,由于它是static的,它不能被其他的函数和源文件访问 2>...

2016-06-24 17:18:47

阅读数:165

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭