在开发多线程应用时,开发人员一般都会考虑线程安全,会使用pthread_mutex去保护全局变量。如果应用中使用了信号,而且信号的产生不是因为程序运行出错,而是程序逻辑需要,譬如SIGUSR1、SIGRTMIN等,信号在被处理后应用程序还将正常运行。在编写这类信号处理函数时,应用层面的开发人员却往往忽略了信号处理函数执行的上下文背景,没有考虑编写安全的信号处理函数的一些规则。本文首先介绍编写信号处理函数时需要考虑的一些规则;然后举例说明在多线程应用中如何构
系统 2019-08-29 22:23:03 2305
流媒体指的是在网络中使用流技术传输的连续时基媒体,其特点是在播放前不需要下载整个文件,而是采用边下载边播放的方式,它是视频会议、IP电话等应用场合的技术基础。RTP是进行实时流媒体传输的标准协议和关键技术,本文介绍如何在Linux下利用JRTPLIB进行实时流媒体编程。一、流媒体简介随着Internet的日益普及,在网络上传输的数据已经不再局限于文字和图形,而是逐渐向声音和视频等多媒体格式过渡。目前在网络上传输音频/视频(Audio/Video,简称A/V
系统 2019-08-29 22:06:52 2305
作者:车东Email:chedongATbigfoot.com/chedongATchedong.com写于:2002/12最后更新:08/04/200307:55:54FeedBack>>版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明http://www.chedong.com/tech/oracle.html关键词:oracle8iredhatlinuxinstall内容摘要:RedHat7.3/8下的Oracle8
系统 2019-08-12 01:53:27 2305
装了5遍,基本什么问题都遇见了双CPU1.6GHZ内存2GRedHatLinuxAS3下安装ORACLE9.2.0.4首先,准备安装需要的软件包和补丁包:从网上下载升级补丁包,用于将Oracle9.2.0升级到9.2.0.4:p3006854_9204_LINUX.zip所有的补丁说明如下:p3095277_9204_LINUX.zip9.2.0.4.0的升级补丁包.p3006854_9204_LINUX.zip在运行runInstaller之前打.p31
系统 2019-08-12 01:51:38 2305
舍弃自己的物质利益来学习Linux,作为程序员目光不能太短如果你忘记了Linux的root登录密码,请看这里posted@2011-11-1223:32moonz-wu阅读(12)|评论(0)编辑Vim编辑操作总结posted@2008-01-3123:16moonz-wu阅读(214)|评论(0)编辑Vim编辑命令3posted@2008-01-2923:19moonz-wu阅读(750)|评论(0)编辑Emacs(二)posted@2008-01-24
系统 2019-08-12 01:32:23 2305
今天一共发布了两个稳定发行版:Linux2.6.16.10和2.6.16.11.Linux2.6.16.10的发布通告在lkml(linux内核邮件列表)中没有找到,听lwn(linux每周新闻)说发布通告已经丢失.Greg怎么不再重发一篇呢?hehe..开玩笑.2.6.16.10大约更新了22个地方.GIT更新日志:http://www.kernel.org/git/?p=linux/kernel/git/stable/linux-2.6.16.y.gi
系统 2019-08-12 01:32:08 2305
一、查看系统负荷如果你的电脑很慢,你或许想查看一下,它的工作量是否太大了。在Linux系统中,我们一般使用uptime命令查看(w命令和top命令也行)。(另外,它们在苹果公司的Mac电脑上也适用。)你在终端窗口键入uptime,系统会返回一行信息。这行信息的后半部分,显示”loadaverage”,它的意思是”系统的平均负荷”,里面有三个数字,我们可以从中判断系统负荷是大还是小。为什么会有三个数字呢?你从手册中查到,它们的意思分别是1分钟、5分钟、15分
系统 2019-08-29 23:08:44 2304
1、管道概述及相关API应用
1.1管道相关的关键概念
系统 2019-08-29 22:31:56 2304
今天一个老外在邮件列表上问了一个问题,就是ipaddradd和ifconfig的区别,我给他进行了解答,可能因为英语不好吧,解答的很简单,因此我还是要在这里详细说明一下。其实它们之间没有什么区别,只是表述方式不同罢了。如果你非常理解网络协议的原理以及网络的分层架构那么我想你就不会有这个问题,实际上,每一个网卡设备都有一个mac地址,但是却可以有多个网络层地址,比如IP地址,然而这个事实无法很好地像用户提供操作接口,所以就引出了ip别名(IPaliases)
系统 2019-08-29 22:28:38 2304
1、设定系统环境变量很多时候我们都需要自行设定系统环境变量,比如使用jdk时等,通过编辑bash.bashrc文件可以达到这个目的:备份并编辑:sudocp/etc/bash.bashrc/etc/bash.bashrc_backupsudogedit/etc/bash.bashrc在文件末尾加上相应的环境变量,这些变量对整个系统有效,比如我的jdk在桌面,那么我添加这样一行:JAVA_HOME=/home/aaron/Desktop/jdk1.5expo
系统 2019-08-12 01:33:47 2304
From:http://blog.csdn.net/sunboy_2050/article/details/73461461.介绍使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程序使用。程序函数库可以使整个程序更加模块化,更容易重新编译,而且更方便升级。程序函数库可分为3种类型:静态函数库(staticlibraries)、共享函数库(
系统 2019-08-12 01:33:32 2304
inux版本:CentOS6.2iso文件下载地址:http://mirrors.163.com/centos/6.2/isos/i386/CentOS-6.2-i386-bin-DVD1.iso1.安装JDK先用java命令查看系统是否安装了默认的openJDK,如果已安装,建议用yumremovejava卸载之。下载jdk:wget–chttp://download.oracle.com/otn-pub/java/jdk/7u5-b05/jdk-7u5
系统 2019-08-12 01:33:13 2304
1、修改/etc/rc.d/rc.local,使用vi/etc/rc.d/rc.local命令2、在/etc/rc.d/rc.local文件最后添加下面两行脚本exportJAVA_HOME=/usr/local/jdk1.7.0_03/usr/local/apache-tomcat-7.0.32/bin/startup.shstart注意事项:当时两台服务器,其中一行只添加了第二行的脚本,就好使,另外一台机器只添加第二行就不好使,所以建议大家两行都添加。
系统 2019-08-12 01:32:55 2304
如果你是个Linux用户,你可能听说过不需要去对你的linux文件系统进行磁盘碎片整理。也许你注意到了,在Liunx安装发布包里没有磁盘碎片整理的工具。为什么会这样?为了理解为什么Linux文件系统不需要磁盘碎片整——而Windows却需要——你需要理解磁盘碎片产生的原理,以及Linux和Windows文件系统它们之间工作原理的不同之处。什么是磁盘碎片很多Windows用户,甚至是没有经验的用户,都深信经常对文件系统进行碎片整理会提高计算机的速度。但并不是
系统 2019-08-12 09:29:27 2303
1/*socket->bind->listen->accept->recv/recvfrom->send/sendto->close23客户端:socket->connect->send/sendto->recv/recvfrom->close45其中服务器端首先建立起socket,然后调用本地端口的绑定,接着就开始与客服端建立联系,并接收客户端发送的消息。6客户端则在建立socket之后调用connect函数来建立连接。78服务器端的源代码如下所示:*/
系统 2019-08-12 01:32:54 2303