Skip to content

20210612思路汇总(conn2datesthendsen'd's2connthread)

zqy edited this page Jun 13, 2021 · 2 revisions

下面总结下析构的核心思路:
他们都需要接收外界的事件,或者说,响应外界的事件从而触发析构逻辑
他们都需要响应两个外界的事件:
conn2datesthread:

1.tcp.Close()  
2.<-p.sends2Conn_stop_ch  

下面来探讨省略2的可行性 20210613-09点17分是可行的并已经实现,但是存在了新的问题: 也就是两者内部在进行简易初始化时所产生的错误该如何处理,(如执行p.attach方法时,但是p.attach只是一个代表,我需要思考明白解决这一类问题最优雅的方式

转化下思路,是否可以把这些err在逻辑思路上去等同于“TCPUSRIO808R_CONN2DATES_ERRORINLOOP”?
也就是说,这些错误类型应命名为“TCPUSRIO808R_CONN2DATES_INITFAIL”与“TCPUSRIO808R_SENDS2CONN_INITFAIL”?
以及如果是这样的话,由于初始化只进行了一半就失败了,但是存在“一小部分已实现的初始化”该如何处理呢?

闭包闭包闭包!!!

https://blog.csdn.net/qq_35976351/article/details/81986496

这个文章贼棒!


这个例子就是最好的答案 闭包作为函数返回值 匿名函数作为返回值,不如理解理解为闭包作为函数的返回值,如下代码:

func Increase() func() int {
n := 0
return func() int {
	n++
	return n
}
}

func main() {
in := Increase()
fmt.Println(in())
fmt.Println(in())
}
/*
输出:
1
2
*/
Clone this wiki locally