![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
yanchen0314
这个作者很懒,什么都没留下…
展开
-
获取MP3文件的播放时间
之前做项目需要做一个类似于mp3的背景音乐功能,由于项目环境是ARM+Linux的所以我马上就想到了madplay这个开源的播放器,但是这个播放器没办法返回播放音乐文件的播放时间。这样做进度条功能就没招了,考虑了很久最终决定通过解析mp3文件来获取它的播放时间。要想获取mp3文件的时间首先得分析mp3文件的帧格式,至于mp3文件的帧格式分析网上有相应的资料,我就不花大力气讲解了,给大家几个网址原创 2014-06-30 18:42:39 · 4172 阅读 · 0 评论 -
Linux守护进程
在公司做项目的时候为了防止服务器中的bug导致程序崩溃,通常情况下需要一个进程负责监控你的服务器程序即使发生崩溃的情况也能在第一时间将服务器重启不至于会发生服务器程序崩溃而再也无法启动的情况。为此,我写了一个监测程序,采用守护进程的方式来实现。守护进程是一种在后台运行的特殊进程,它脱离了终端从而避免进程被任何终端所产生的信号所打断。守护进程有以下几个要点: 1. 屏蔽一些有关原创 2014-06-17 15:24:49 · 605 阅读 · 0 评论 -
多线程单例模式
单例模式相信一般的开发人员都很熟悉了。但是在多线程环境下的单例模式你确定你清楚吗? 首先在研究多线程单例模式之前我们必须先清楚几个基本都的知识点。1.pthread_key_t;这里提一下什么是线程存储:在多线程程序中,所有线程共享程序中的变量。现在有一全局变量,所有线程都可以使用它,改变它的值。而如果每个线程希望能单独拥有它,那么就需要使用线程存储了。表面上看起来这是一个全局变原创 2014-12-02 09:23:02 · 552 阅读 · 0 评论 -
Log4Cplus在Linux下的安装及使用
在做服务器程序的过程中我想最有用的调试手段应该是日志系统了,好的日志能够直观快速的定位程序的问题,如系统崩溃,死锁,错误的异常抛出等。如何选择一个好的日志库对程序员来说至关重要。设计简陋粗糙的日志系统,可能会到导致系统的性能随着日志的增加而线性的降低,还可能导致线程安全型等问题,我在项目中用到了log4cplus这个日志库,log4cplus是C++编写的开源的日志系统,功能非常全面,用到自己开发原创 2014-11-14 10:06:05 · 4607 阅读 · 0 评论 -
循环容器和RAII
一.什么是RAII手法?RAII(Resource Acquisition Is Initialization),也称为“资源获取就是初始化,是C++语言的一种管理资源、避免泄漏的惯用法。C++标准保证任何情况下,已构造的对象最终会销毁,即它的析构函数最终会被调用。简单的说,RAII的做法是使用一个对象,在其构造时获取资源,在对象生命期控制对资源的访问使之始终保持有效,最后在对象析构的时候原创 2014-12-08 15:21:47 · 492 阅读 · 0 评论 -
Linux简单日志系统
本文只讨论单线程,文本类型的日志,其实Linux下有许多优秀的开源的效率很高的日志库,例如log4cplus等。我不敢说自己的实现要比它们更好,但是这至少是给了一些想自己实现日志功能的人一些更多的选择。 谈到日志,一开始我们就会想到是直接将日志信息一条一条的写入到文件中,利用直接的I/O操作。但是只要你稍稍一考虑你就会发现这是一个糟糕的做法。一旦你的项目代码越来越多,添加的日志数目原创 2014-12-24 10:05:28 · 681 阅读 · 0 评论 -
Linux线程池的实现
在学习了muduo的网络库之后,觉得muduo网络库关于线程池的实现很有意思,它利用boost库的function和bind这一对神奇,摆脱了使用继承和虚函数的束缚,而且拜托了线程回调函数的特异性,不能拘泥于回调函数的实现形式,我觉得这其中有很多手法值得我来借鉴。原创 2014-11-24 15:37:35 · 533 阅读 · 0 评论