0. 参考 https://colobu.com/2016/04/14/Golang Channels/ 1. 目录结构 2. main.go 3. channel.go 4. 同步 ...
分类:
其他好文 时间:
2020-01-29 22:03:44
阅读次数:
64
NIO线程模型 什么是NIO线程模型? 上图是NIO的线程模型, 基于select实现, 这种线程模型的特点: 多条channel通过一个选择器和单挑线程绑定, 并且在这种编程模型中, Channel中相关业务逻辑不允许存在耗时的任务 , 如果一定会有耗时的逻辑, 请将它们放置到线程池中去运行, 因 ...
分类:
其他好文 时间:
2020-01-28 09:23:31
阅读次数:
69
1. 关闭管道 2. 遍历 3. 代码 package main import ( "fmt" ) func main() { intChan := make(chan int, 3) intChan<- 100 intChan<- 200 close(intChan) //这是不能够再写入数到ch ...
分类:
其他好文 时间:
2020-01-27 09:35:17
阅读次数:
60
1. 计算阶乘 package main import ( "fmt" _ "time" "sync" ) //需求:现在要计算 1-200 的各个数的阶乘,并且把各个数的阶乘放入到map中。 //最后显示出来。要求使用goroutine完成 //思路 //1. 编写一个函数,来计算各个数的阶乘,并 ...
分类:
其他好文 时间:
2020-01-27 09:25:24
阅读次数:
108
1. 案例1 package main import ( "fmt" _ "time" ) //write Data func writeData(intChan chan int) { for i := 1; i <= 50; i++ { //放入数据 intChan <- i // fmt.Pr ...
分类:
其他好文 时间:
2020-01-27 09:17:19
阅读次数:
64
"概要" "goroutine 的控制" "取消控制" "超时控制" "goroutine 之间的传值" "总结" 概要 golang 的提供的 channel 机制是基于 CSP(Communicating Sequencial Processes)模型的并发模式. 通过 channel, 可以很 ...
分类:
其他好文 时间:
2020-01-26 19:20:54
阅读次数:
72
flume agent 内部原理 1、Source采集数据,将数据封装成Event对象,然后将数据交给 Channel Processor (利用该类的方法进行下一步的处理) 2、 Channel Processor 将Event事件传递给拦截器链(Intercepter,进行简单的数据清洗),然后 ...
分类:
Web程序 时间:
2020-01-26 14:29:01
阅读次数:
130
CSP并发模型 CSP模型是上个世纪七十年代提出的,用于描述两个独立的并发实体通过共享的通讯 channel(管道)进行通信的并发模型。 CSP中channel是第一类对象,它不关注发送消息的实体,而关注与发送消息时使用的channel。 Golang CSP Golang 就是借用CSP模型的一些 ...
分类:
其他好文 时间:
2020-01-26 00:52:03
阅读次数:
122
先给出答案: 需要结合具体使用的source、channel和sink来分析,具体结果可看本文最后一节。 Flume事务 ====================== 一提到事务,我们首先就想到的是MySQL中的事务, 事务就是将一批操作做成原子性的 ,即这一批要么都成功,要么都失败。 同样的道理, ...
分类:
Web程序 时间:
2020-01-24 00:14:47
阅读次数:
972
No enclosing instance of type Stu is accessible. Must qualify the allocation with an enclosing instance of type Stu (e.g. x.new A() where x is an inst ...
分类:
数据库 时间:
2020-01-24 00:14:19
阅读次数:
114