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

Linux下线程的创建

作者:Hoyt Email:hoytluo@21cn.com原文地址 http://wiki.chinaunix.net/index.php/Zhuan_c7
前言: Linux下线程的创建和基本的使用
线程的同步和互斥
线程的条件变量
先介绍什么是线程.我们编写的程序大多数可以看成是单线程的.就是程序是按照一定的 顺序来执行.如果我们使用线程的话,程序就会在我们创建线成的地方分叉,变成两个"程 序"在执行.粗略的看来好象和子进程差不多的,其实不然.子进程是通过拷贝父进程的地 址空间来执行的.而线程是通过共享程序代码来执行的,讲的通俗一点就是线程的相同的 代码会被执行几次.使用线程的好处是可以节省资源,由于线程是通过共享代码的,所以没 有进程调度那么复杂.
1.线程的创建和使用
线程的创建是用下面的几个函数来实现的.
#include <pthread.h>

int pthread_create(pthread_t *thread,pthread_attr_t *attr,
void *(*start_routine)(void *),void *arg);
void pthread_exit(void *retval);
int pthread_join(pthread *thread,void **thread_return);

pthread_create创建一个线程,thread是用来表明创建线程的ID,attr指出线程创建时候 的属性,我们用NULL来表明使用缺省属性.start_routine函数指针是线程创建成功后开始 执行的函数,arg是这个函数的唯一一个参数.表明传递给start_routine的参数. pthrea d_exit函数和exit函数类似用来退出线程.这个函数结束线程,释放函数的资源,并在最后 阻塞,直到其他线程使用pthread_join函数等待它.然后将*retval的值传递给**thread_ return.由于这个函数释放所以的函数资源,所以retval不能够指向函数的局部变量. pt hread_join和wait调用一样用来等待指定的线程.注意由于线程不同于进程.所以线程的 退出一定要用pthread_exit而不是使用exit.否则整个程序会退出的. 下面我们使用一个 实例来解释一下使用方法.在实践中,我们经常要备份一些文件.下面这个程序可以实现当 前目录下的所有文件备份.备份后的后缀名为bak
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <pthread.h&


相关文档:

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

2009 年 4 月 23 日
本文中我们针对 Linux 上多线程编程的主要特性总结出 5 条经验,用以改善 Linux 多线程编程的习惯和避免其中的开发陷阱。在本文中,我们穿插一些 Windows 的编程用例用以对比 Linux 特性,以加深读者印象。
背景
Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微 ......

Linux 内核中的 GCC 特性(转)

M. Tim Jones, 顾问工程师, Emulex Corp.
2009 年 4 月 07 日
Linux® 内核使用 GNU Compiler Collection (GCC) 套件的几个特殊功能。这些功能包括提供快捷方式和简化以及向编译器提供优化提示等等。了解这些特殊的 GCC 特性,学习如何在 Linux 内核中使用它们。
GCC 和 Linux 是出色的组合。尽管它们是独立的软件 ......

Linux那些事儿之我是Sysfs(6)文件系统

接下来,我们进入sysfs部分。看看
kobject_add()->create_dir()->sysfs_create_dir()
bus create file->sysfs create file()
. . .
这些sysfs函数的内幕。
说白了,sysfs就是利用VFS的接口去读写kobject的层次结构,建立起来的文件系统。关于sysfs的内容就在fs/sysfs/下。&nbs ......

LINUX网络编程的读书笔记


LINUX网络编程的读书笔记
第一章文件系统和进程系统
1.1文件系统的总体结构
      
从文件系统的实现角度来看,按层次可以分成应用程序、系统调用、文件子系统、高速缓冲、设备驱动和具体的存储设备等几个层次,如下图:
      
应用程序
系统调 ......

linux ulimit 讲解

1,说明:
ulimit用于shell启动进程所占用的资源.
2,类别:
shell内建命令
3,语法格式:
ulimit [-acdfHlmnpsStvw] [size]
4,参数介绍:
-H 设置硬件资源限制.
-S 设置软件资源限制.
-a 显示当前所有的资源限制.
-c size:设置core文件的最大值.单位:blocks
-d size:设置数据段的最大值.单位:kbytes
-f size:设置创建 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号