下载release版本
https://github.com/OpenVPN/easy-rsa/releases
配置公钥基础设施变量
1 | cp vars.example vars |
修改内容示例
1 | set_var EASYRSA_REQ_COUNTRY "CN" |
https://github.com/OpenVPN/easy-rsa/releases
1 | cp vars.example vars |
修改内容示例
1 | set_var EASYRSA_REQ_COUNTRY "CN" |
1 . 安装ftp
1 | sudo apt-get install vsftpd |
1 | local_root=/home/ftpuser |
1 | mkdir /home/ftpuser |
1 | chown ftpuser:ftpuser /home/ftpuser/ |
1 | sudo vi /etc/pam.d/vsftpd |
1 | ftp://207.246.80.69 //通过浏览器访问 |
一个channel 关闭的原则是不要从接收端关闭channel,也不要关闭有多个并发发送者的channel。【别人可能还写呢】
换句话说,如果sender(发送者)只是唯一的sender或者是channel最后一个活跃的sender,那么你应该在sender的goroutine关闭channel,从而通知receivers(接收者们)已经没有值可以读了。
happens-before是一个术语,并不仅仅是Go语言才有的。
简单的说,通常的定义如下:假设A和B表示一个多线程的程序执行的两个操作。如果A happens-before B,那么A操作对内存的影响 将对执行B的线程(且执行B之前)可见。
1 | int A, B; |