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

Linux 和 多线程

每次都是用到,查一下,写下,这次稍微记录下笔记。
和Thread相关,基本的有3个概念:线程的建立和销毁;线程锁;线程条件
关于建立线程:
ret = pthread_create(&thread_id, NULL, Do_Thread, &Do_Thread_Para);
// 第2参数是thread 属性,一般我不用设置
// 第4个参数是Do_Thread的入口参数,一般我传一个结构体进去
关于销毁线程:
等待线程结束:pthread_join
强行杀掉线程:pthread_exit
让线程自生自灭:pthread_detach
我一般用的是第一个:
pthread_join(thread_id, &Do_Thread_ret);
// 第二个参数是线程返回值 
关于线程锁:当要在多个线程共享某些变量的时候,就需要用锁。这样可以保证一个时间点,只有一个线程能够访问这个线程
pthread_mutex_t mMutexData;
pthread_mutex_init(&(mMutexData), NULL); // 第2个参数是锁的属性,我一般用默认,NULL
pthread_mutex_lock(&mMutexData);  // 加锁
pthread_mutex_unlock(&mMutexData) // 去锁
pthread_mutex_destroy(&mMutexData) // 销毁
关于条件:当某个线程需要等待其他线程处理完某个数据(运行到某个点)的话,就需要用条件,一般加个时间参数,以防止死等下去。
pthread_cond_t *sConditionData;
pthread_cond_init(&(sConditionData), NULL); // 第2个参数是锁的属性,我一般用默认,NULL
 pthread_mutex_lock(&mMutexData); // 一般条件必须和锁加在一起用,以保证条件变量不重入
  pthread_cond_signal(&sConditionData); // 发信号
  pthread_mutex_unlock(&mMutexData);
    struct timespec  ts;
    struct timeval sTime;
    struct timezone sTimeZone;
   long res;
  pthread_mutex_lock(&(pApp->mMutexData));
  gettimeofday(&sTime, &sTimeZone);
  ts.tv_sec = sTime.tv_sec;
  ts.tv_nsec += 5sTime. tv_usec * 1000 +20*1000*1000; // 20 ms
  ret = pthread_cond_timedwait(&(pApp->sConditionData), &(pApp->mMutexData), &ts); // 等候
  if(ret == ETIMEDOUT)
  {
   pthread_mutex_unlock(&(pApp->mMutexData));
  


相关文档:

linux磁盘空间不够用,添加硬盘

添加硬盘后启动虚拟机, 如果添加的SCSI硬盘这时应该多出一个sdb/sdc/..的盘,可以用 fdisk -l 查看到
分区fdisk /dev/sdb   ---> n p 1 回车 回车 w
格式化mkfs -t ext3 -c /dev/sdb1
挂载到某个目录 mount /dev/sdb1 /home
vi /etc/fstab 添加一行  /dev/sdb1   /home  ext3 defau ......

Linux 替换命令

  vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。
  :s/vivian/sky/ 替换当前行第一个 vivian 为 sky
  :s/vivian/sky/g 替换当前行所有 vivian 为 sky
  :n,$s/vivian/sky/ 替换第 n 行 ......

Linux Windows 共享文件


samba实现ubuntu跟windows文件共享
一. Samba 简介
Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的;
大家知 ......

Linux 下常用小工具集

1 经常需要刻录 ISO 文件,cdrecord 可以实现
cdrecord 其实是一个软链接
lrwxrwxrwx 1 root root 5 2009-05-04 22:42 /usr/bin/cdrecord -> wodim
刻录的命令如下:
wodim -v dev=6,0,0 xx.iso # dev 可以用 --scanbus 查看
2 ......

linux 内核版本及补丁说明

转自:http://lkml.org/lkml/2005/8/2/242
--------------------------------------------------------------------------------------------
from
Jesper Juhl <>
Subject
Documentation - how to apply patches for various trees
Date
Tue, 2 Aug 2005 23:32:20 +0200
Hi,
How to apply the -rc, -git, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号