linux

互斥量

关于锁的总结(一)互斥量

锁 我们语境下的锁是一种同步机制,用于计算机在多任务环境下访问公共资源达到互斥作用。 临界资源 临界资源(Critical Resource)是一次仅允许一个进程(任务)使用的共享资源 临界区 每个进程(任务)中访问临界资源的代码块。每次只允许一个进程进入临界区(Critical Section) 互斥量 互斥量(mutex),用于保护临界区的。下面举个例子,三个task,其中两个生产者,一个消费者 以下代码有如下假定: 1. 生产者在shared.buf[i]生成出数据 i 2. 生产者竞争(race)生产,直到所有buf区域都有数据,并此时停止生成 3. 消费者在整个buf全有数据后才开始消费 #include <stdio.h> #include <pthread.h>

By chainhelen

text file busy

Text file busy 问题粗解

1. 问题起源 接手一个评论的项目,是用golang写的,采用了gin的web框架 发现里面并没有做热重启,尝试去了解了一下文档 推荐了一个endless的平滑重启库 当我尝试里面写的事例时候,会报错 文档里面提及的操作如下: Compile the example $ go build -o simple_server examples/simple.go Run it $ ./simple_server 2015/03/22 20:03:29 PID: 2710 localhost:4242 Make a request $ curl http://localhost:4242/hello WORLD! Change the handler - eg. replace

By chainhelen

linux

tomcat日志提取

问题 之前以为xx网红直播能带来大量流量导入商城,所以做了大量准备服务器做集群,每台服务器上都有tomcat日志,前面因为时间太赶,所以没有写分析用户行为的代码,所以现在就想着简单提取一下 linux工具提取 日志在如下文件夹下 /home/ch/logs/lwcmall_A001.logs/localhost_access_log.2017-01-03.txt /home/ch/logs/lwcmall_A002.logs/localhost_access_log.2017-01-03.txt /home/ch/logs/lwcmall_A003.logs/localhost_access_log.2017-01-03.txt /home/ch/

By chainhelen