网络编程
饭子
这个作者很懒,什么都没留下…
展开
-
记录锁
先举一个实例:多个进程写一个文件,加写锁int main(){ int fd = -1; char buf[16] = {0}; fd = open(g_plugin.config_get_strval("pid_file", "./pid"), O_RDWR|O_CREAT, 0644); if (fd < 0) BOOT_LOG(-1, "check si原创 2017-02-09 15:30:54 · 208 阅读 · 0 评论 -
信号代码样例
父进程管理两个子进程,实现功能如下1. 父进程被kill之后,子进程也会被kill2. 子进程被kill之后,子进程会被父进程重新拉起3. 此进程为守护进程编译后运行编译出来的文件,发现已经是守护进程了执行ps -ef| grep maggie命令,会发现有三个同名进程,一个父进程,两个子进程kill子进程,父进程会将其重新拉起kill父进程,父进程会将结束,并同时杀死两个子进程原创 2017-03-07 16:58:44 · 659 阅读 · 0 评论 -
缓存更新的套路
文章转载自http://coolshell.cn/articles/17416.html看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数据还是老转载 2017-04-21 16:03:25 · 257 阅读 · 0 评论