易截截图软件、单文件、免安装、纯绿色、仅160KB

linux 读写锁(写优先)使用方法

http://sourceware.org/ml/glibc-bugs/2008-11/msg00073.html
http://www.nabble.com/-Bug-nptl-7057--New:-pthread-rwlock-does-not-implement-'writer-preferred'-option-td20703744.html
pthread rwlock does not implement 'writer preferred' option
linux 读写锁
定义(全局变量):
pthread_rwlock_t    rw_lock;
初始化:
{
    pthread_rwlockattr_t attr;
    int ret = 0;
    ret = pthread_rwlockattr_init( &attr );
    if( ret < 0 )
    {
 ...;
        return;
    }
#ifdef HAVE_PTHREAD_RWLOCK_PREFER_WRITER_NP
    pthread_rwlockattr_setkind_np(&attr, PTHREAD_RWLOCK_PREFER_WRITER_NP); // 写优先
#endif
    ret = pthread_rwlockattr_setpshared( &attr, PTHREAD_PROCESS_SHARED );  // 进程内
    if( ret < 0 )
    {
        ...;
        return;
    }
    ret = pthread_rwlock_init( &rw_lock, &attr );
    if( ret < 0 )
    {
        ...;
        return;
    }
    ret = pthread_rwlockattr_destroy( &attr );
    if( ret < 0 )
    {
        ...;
        return;
    }
    return;
}
使用:
    // 写锁
    pthread_rwlock_wrlock(&rw_lock);
    ......
    pthread_rwlock_unlock(&rw_lock);
    // 读锁
    pthread_rwlock_rdlock(& w_lock);
    ......
    pthread_rwlock_unlock(&rw_lock);
另外一个:
  #define   _XOPEN


相关文档:

linux mysql 开发环境

安装mysql
sudo apt-get install mysql-servel-5.0 mysql-client-5.0
下载安装过程中,会提示输入root密码
安装C语言编程接口:
 sudo apt-get install libmysqlclient15-dev
更多api 查看:http://dev.mysql.com/doc/refman/5.0/en/c.html
相关mysql头文件和库文件安装在/usr/include/mysql/和/usr/lib/mysql目 ......

linux中的古老缩略语

无意中看到了一篇zz  
http://hi.baidu.com/lyricidyll/blog/item/54e8f9a9c35bb8bbca130c7c.html
挖Linux中的古老缩略语
Unix已经有35年历史了。许多人认为它开始于中世纪,这个中世纪是相对于计算机技术的产生和发展来说的。在过去的时间里,Unix和它的子分支
Linux收集有许多的历史和一些完全古老的语言。 ......

基于S3C2440的Linux内核移植和yaffs2文件系统制作

  基于S3C2440的Linux内核移植和yaffs2文件系统制作 收藏
Linux内核移植和根文件系统制作
第一章 移植内核... 2
1.1 Linux内核基础知识... 2
1.1.1  Linux版本... 2
1.1.2 什么是标准内核... 2
1.1.3 Linux操作系统的分类... 3
1.1.4 linux内核的选择... 4
1.2 Linux内核启动过程概述... 5
1.2.1  ......

rename linux 函数

C标准函数,似乎不应该有平台问题: 我们看一下这个程序: #include
#include
int main()
{
    rename(”/tmp/abc”,”/tmp/bcd”);
    perror(”why:”);
} 此程序运行一切正常。 自己将路径修改为不同的分区之间移动,或者将同一分区挂载到不同的mou ......

LINUX 线程函数大全


LINUX 线程函数大全
线程
创建一个缺省的线程
缺省的线程的属性:
l         非绑定
l         未分离
l         一个缺省大小的堆栈
l       &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号