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

linux api笔记(3):线程(一)

本文中将讲述linux环境编程中线程的使用。不说废话直接上代码:
#include <pthread.h>
#include <assert.h>
struct ThreadData
{
int i;
};
void * ThreadProc(void* arg)
{
ThreadData* data = static_cast<ThreadData*>(arg);
//do something

pthread_exit(data);
}
int main()
{
pthread_t thread_handle = 0;

ThreadData *data = new ThreadData;
//create thread
pthread_create(&thread_handle, NULL, ThreadProc, data);
//wait the created thread finished
ThreadData * out_data = NULL;
pthread_join(thread_handle, (void**)&out_data);
assert(out_data == data);
delete (out_data);
return 0;
}
上面的代码主要有3个线程操作的系统调用,一般情况下这3个就够我们用了。
pthread_create:创建线程。第一个参数是out参数,它输出了创建好的线程的
标志符-线程ID。第二参数是用来设置线程的属性的,后面会有讲解。第三个参数是
一个函数指针,这个指针指向的函数在线程创建成功之后再新的线程中执行。第四个
参数是一个指针,这个指针在第三个参数指向的函数执行时传入这个函数中。
pthread_exit:在线程退出之前使用,这个函数有一个参数,是指针,这个指针
在pthread_join的时候将被收到。这个函数必须在线程内部使用(其实我们只要看到
它没有pthread_t类型的参数我们就知道只能在线程内使用)。
pthread_join:第一个参数是pthread_t,说明这个函数不是在对应的线程内使用
的。在调用这个函数后,调用者(某个线程)将被阻塞,并且一直等待,直到第一个参数
对应的线程中止,对应线程终止之后这个函数将返回。pthread_join的第二个参数是一个
指针的指针类型,out参数,函数结束后它指向了pthread_exit函数输入的第二个参数。
本文中介绍的3个函数的使用其实是一些最基本的使用,其中并没有涉及到一些细节
和注意事项,后面的文章中我会结合man手册陆续补上。


相关文档:

linux下面使用du

du -sh xmldb/
    du -sm * | sort -n //统计当前目录大小 并安大小 排序
    du -sk * | sort -n
    du -sk * | grep guojf //看一个人的大小
    du -m | cut -d "/" -f 2 //看第二个/ 字符前的文字
    查看此文件夹 ......

linux忘記root密碼

方法一:single mode
[code]1.        在 GRUB 選單畫面的時候,按 e
2.        找到這一行【kernel /vmlinuz-2.xxxxxxx ro root=/dev/hda2】按 e
3.        在這一行最後加上 single(要留一個空格再加 sing ......

Linux下配置NFS服务

  1.安装包 
             # apt-get install nfs-kernel-server
  2.编辑配置文件
             # vim /etc/exports
    输入  /home/myhome/work/ ......

Linux系统信息查看命令大全

系统
# uname -a               # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue   # 查看操作系统版本
# cat /proc/cpuinfo      # 查看CPU信息
# hostname      &nbs ......

Linux makefile 教程 非常详细,且易懂

 最近在学习Linux下的C编程,买了一本叫《Linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。
            于是google到了以下这篇文章。通俗易懂。然后把它贴出来,方便学习。
        & ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号