作为一名在IT行业摸爬滚打多年的少年,选择一款适手的画图工具可以说是爽到不行。记得学生时代,鉴于条件的限制,都只能选择Visio进行绘制流程
Goroutine与主进程的通信
还记得前半年去某条面试,面试小哥问我,当一个进程启动多个goroutine时,某个goroutine挂了,如何让主进程知道,当时大概知道可以通过context
这个包来实现,但是当时没有具体去了解和熟悉这块,在这里再总结下。
子goroutine与主线程同步的集中方式:
channel
: 每个goroutine往主进程的chan
写数据,然后由主进程去读取,直到读取完了全部goroutine的chan
就算运行完毕,此时主进程即可正常退出。这种方式是子线程通知主线程结束.context
: 使用context
中的cancel
,这种模式是主线程通知子线程结束sync.WaitGroup
: 通过Add
方法设置等待子goroutine的数量,使用Done
方法设置等待子goroutine的数量减1,当等待数量为0时,Wait
函数退出.
Linux下快速构建Android编译环境
背景: 在移动互联网时代,大多数的企业内部都有移动客户端,而移动客户端又因为OS的不同产生了两个派系,即
安卓(Android)
和苹果(IOS)
,而对于互联网技术从业者来说,这两者最直接的区别就是开源
和闭源
,因而也导致了在构建移动客户端时,为了整体的稳定性和可靠性的考虑(甚至有成本的考虑),需要进行分别编译,本篇文章记录下如何在Linux环境下构建Android
编译环境.