前言 开发中不免会遇到需要所有子线程执行完毕通知主线程处理某些逻辑的场景。 或者是线程 A 在执行到某个条件通知线程 B 执行某个操作。 可以通过以下几种方式实现: 等待通知机制 两个线程通过对同一对象调用等待 wait() 和通知 notify() 方法来进行通讯。 如两个线程交替打印奇偶数: 输 ...
分类:
编程语言 时间:
2018-03-20 18:02:14
阅读次数:
164
阿里云短信接口 配置文件 config.php TestController.php Alisms.php ...
分类:
其他好文 时间:
2018-03-20 10:33:44
阅读次数:
689
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中, 然后发布到任何流行的 Linux 机器上。 安装dockersudo apt-get install docker.io 注意:docker组不等价于用户root,如果想要知道的更多关于安全影响,查看 ...
分类:
其他好文 时间:
2018-03-19 16:53:26
阅读次数:
181
1、写操作的流程 2、RDB快照-redis的第一个持久化策略 第一种是以快照的形式持久化到本地磁盘(RDB文件)。 持久化策略是: 1.配置(save N M)在N秒内,redis至少发生M次修改,则redis持久化快照到本地磁盘。 after 900 sec (15 min) if at lea ...
分类:
其他好文 时间:
2018-03-19 14:20:55
阅读次数:
184
CommonJS是服务器端模块的规范,由Node推广使用。由于服务端编程的复杂性,如果没有模块很难与操作系统及其他应用程序互动。使用方法如下: 根据CommonJS规范: 一个单独的文件就是一个模块。每一个模块都是一个单独的作用域,也就是说,在该模块内部定义的变量,无法被其他模块读取,除非定义为gl ...
分类:
Web程序 时间:
2018-03-19 13:45:42
阅读次数:
255
是部分公用才对。比如所有页面的头部脚部一般是一样的,就放在一个公用css里如common.css,每个页面都要链接这个css。不一样的部分单独写一个,如主页就做一个index.,css,列表页就写一个list.css,所有列表页就可以链接这个css表,内容页也可以写一个content.css。按照以 ...
分类:
Web程序 时间:
2018-03-19 13:39:32
阅读次数:
200
Mysql InnoDB 排他锁 用法: select … for update; 例如:select * from goods where id = 1 for update; 排他锁的申请前提:没有线程对该结果集中的任何行数据使用排他锁或共享锁,否则申请会阻塞。 for update仅适用于In ...
分类:
数据库 时间:
2018-03-19 11:40:10
阅读次数:
229
钩子模式 问题场景 如何控制抽象类的行为?解决办法是靠钩子!抽象类公布一个虚方法,由子类自行决定是否重写它,抽象类以钩子做判定,如果返回真则执行某个方法,否则不执行。为什么钩子不能是抽象的,因为如果钩子是抽象的,那么子类都必须重写它,有些子类并不想重写它,所以钩子最好定义成虚的。 总结模式 抽象类中 ...
Pull Request 是指开发者在本地对源代码进行更改后,向 GitHub中托管的 Git 仓库请求合并的功能。 GitHub 的 Pull Request 不但能轻松查看源代码的前后差别,还可以对指定的一行代码进行评论。 任务管理和 BUG 报告可以 通过 Issue 进行交互。如果想让特定用 ...
分类:
其他好文 时间:
2018-03-18 20:06:23
阅读次数:
197
```go
package main import ( "fmt" "os" "os/exec" "strconv"
) func main() { pid := os.Getpid() fmt.Printf("Process PID: %d \n\n", pid) prc := exec.Comm... ...
分类:
其他好文 时间:
2018-03-17 23:28:36
阅读次数:
338