![](https://csdnimg.cn/release/download_crawler_static/86873204/bg3.jpg)
少年易学老难成,一寸光阴不可轻 - 百度文库
int main(int argc, char *argv[])
{
int shmid;
if (argc != 2)
{
perror("argc error/n");
exit(1);
}
shmid = atoi(argv[1]);
shmctl(shmid, IPC_RMID, NULL);
return 0;
}
linux 下 C 语言编程 5-多线程编程
Linux 系统下的多线程遵循 POSIX 线程接口,称为 pthread。编写 Linux 下的多线程程序,
需要使用头文件 pthread.h,编译需要在后面加-lpthread。
关于多线程,主要有以下几个过程:
1,创建线程
2,各个线程的执行
3,等待线程的结束
涉及的线程函数主要有:
1,int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr,
void *(*start_rtn)(void), void *restrict arg);
函数有 4 个参数:第一个参数为指向线程标识符的指针。第二个参数用来设置线程属性。第
三个参数是一个函数指针(有关函数指针,看这里),指向线程运行函数的起始地址。最后
一个参数是函数指针所需要的参数。
注意:pthread_create 函数返回 0 表示成功。另外如果函数指针需要多个参数的话,就将
这些参数做成某个结构体,作为第 4 个参数。如果有返回值的话,也可将返回值的指针回写
到第 4 个参数中。
2,pthread_join()等待一个线程的结束。pthread_exit()用于线程退出,可以指定返回值,
以便其他线程通过 pthread_join()函数获取该线程的返回值。
线程的应用:并行数据库的查询
3