自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

转载 pthread多线程编程

 1 Introduction不用介绍了吧…2 Thread Concepts1.     Thread 由下面部分组成:a.     Thread IDb.     Stackc.     Policyd.     Signal maske.     Errnof.      Thread-Specific Data3 Thread Identification1.     pthread_t 用于表示Thread ID,具体内容根据实现的不同而不同,有可能是一个Structure,因此不能将其看作为整数

2010-11-27 16:25:00 555

转载 Linux的多线程编程的高效开发经验

  作者:杨奕 贺皓 张 俊伟    本文中我们针对 Linux 上多线程编程的主要特性总结出 5 条经验,用以改善 Linux 多线程编程的习惯和避免其中的开发陷阱。在本文中,我们穿插一些 Windows 的编程用例用以对比 Linux 特性,以加深读者印象。    背景    Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别。不注意这些 Linux 上的一些开发陷阱,常常会导致程序问题不穷,死锁不断。本文中我们从 5 个方面总结出 Linu

2010-11-27 15:48:00 812

原创 Linux线程同步的三种控制方法

<br />l         互斥体Mutex<br />l         信号灯Semophore<br />l         条件变量Conditions<br /><br />什么时候会用上互斥量了?比如你现在有一全局链表,你有几个工作线程。每一个线程从该链表中取出头节点,然后对该头节点进行处理。比如现在线程1正在取出头节点,他的操作如下:<br />Item * p =queue_list;<br />Queue_list=queue_list->next;<br />Process_job(

2010-11-27 04:15:00 1702

原创 Windows下进程和线程同步的四种控制方法

<br />1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 <br />2、互斥量:为协调共同对一个共享资源的单独访问而设计的。 <br />3、信号量:为控制一个具有有限数量用户资源而设计。 <br />4、事 件:用来通知线程有一些事件已发生,从而启动后继任务的开始。 <br /><br />临界区(Critical Section)<br /><br />  保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻只允许一个线程对共享资源进行访问。如果有多个线程

2010-11-27 03:35:00 2146 1

转载 C++虚函数表解析

<br /><br />C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。<br />关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上面

2010-11-14 23:05:00 406

转载 [精华] 跟我一起写 Makefile

<br />概述 <br /><br />什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。 <br /><br

2010-11-14 22:11:00 455

原创 [转]Win32下两种用于C++的线程同步类

<br />  线程同步是多线程程序设计的核心内容,它的目的是正确处理多线程并发时的各种问题,例如线程的等待、多个线程访问同一数据时的互斥,防死锁等。Win32提供多种内核对象和手段用于线程同步,如互斥量、信号量、事件、临界区等。所不同的是,互斥量、信号量、事件都是Windows的内核对象,当程序对这些对象进行控制时会自动转换到核心态,而临界区本身不是内核对象,它是工作在用户态的。我们知道从用户态转换到核心态是需要以时间为代价的,所以如果能在用户态就简单解决的问题,就可以不必劳烦核心态了。<br />  这

2010-10-30 02:29:00 396

原创 多媒体压缩格式

<br />Video compression <br />ISO/IEC<br />MJPEG · Motion JPEG 2000 · MPEG-1 · MPEG-2 (Part 2) · MPEG-4 (Part 2/ASP · Part 10/AVC) · HEVC<br />ITU-T<br /> H.120 · H.261 · H.262 · H.263 · H.264 · HEVC<br />Others<br /> AMV · AVS · Bink · CineForm · Cinepak

2010-10-17 18:36:00 479

原创 PE文件格式详解

<br />PE文件格式详解<br />摘要<br />Windows NT 3.1引入了一种名为PE文件格式的新可执行文件格式。PE文件格式的规范包含在了MSDN的CD中(Specs and Strategy, Specifications, Windows NT File Format Specifications),但是它非常之晦涩。<br />  然而这一的文档并未提供足够的信息,所以开发者们无法很好地弄懂PE格式。本文旨在解决这一问题,它会对整个的PE文件格式作一个十分彻底的解释,另外,本文中还带

2010-10-17 15:57:00 858

原创 Windows平台编译ffmpeg

FFMpeg是基于Linux开发的开源项目,源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不能使用MSVC++编译。要想使用FFMpeg,最先要解决的问题就是在Windows下配置一个类似Linux的编译环境,将FFMpeg编译为二进制库以后,再利用其进行进一步开发。FFmpeg在Windows系统下的编译过程如下:  1)下载MSys程序:    下载文件:    bash-3.1-MSYS-1.0.11-snapshot.tar.bz2    msysCO

2010-10-16 01:48:00 941

原创 音频编码压缩技术

<br />内容简介:文章介绍了PCM编码、WMA编码、ADPCM编码、LPC编码、MP3编码、AAC编码、CELP编码等,包括优缺点对比和主要应用领域。<br /> <br />PCM编码(原始数字音频信号流)<br />类型:Audio<br />制定者:ITU-T<br />所需频宽:1411.2 Kbps<br />特性:音源信息完整,但冗余度过大<br />优点:音源信息保存完整,音质好<br />缺点:信息量大,体积大,冗余度过大<br />应用领域:voip<br />版税方式:Free<br

2010-10-14 23:47:00 5935

原创 视频编码压缩技术

<br />压缩方式是dvr的核心技术,压缩方式很大程度上决定着图像的质量、压缩比、传输效率、传输速度等性能,它是评价dvr性能优劣的重要一环。随着多媒体技术的发展,相继推出了许多压缩编码标准,目前主要有JPEG/M-JPEG、H.261/H263/H264、MPEG等标准。 <br />JPEG/M-JPEG<br /> <br />①、JPEG是一种静止图像的压缩标准,它是一种标准的帧内压缩编码方式。当硬件处理速度足够快时,JPEG能用于实时动图像的视频压缩。在画面变动较小的情况下能提供相当不错的图像质

2010-10-14 23:01:00 1497

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除