求一个多线程的例子程序

Bread_0053 2006-05-08 07:55:52
随便一个例子就行了,最好能把这种程序的要点都包括些
...全文
198 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yaoyuhang 2006-05-11
  • 打赏
  • 举报
回复
函数原形如下:
#include <pthread.h>

int pthread_create(pthread_t *restrict thread,
const pthread_attr_t *restrict attr,
void *(*start_routine)(void *),
void *restrict arg);

一个简单的例子:
打开一个文件之后,创建一个线程。并将打开的文件描述符作为参数传入。

void *processfd(void *arg);

int error;
int fd;
pthread_t tid;

if((fd = open("may.dat",O_RDONLY)) = -1)
return -1;
else if(error = pthread_create(&tid,NULL,processfd,&fd))
fprintf(stderr,"Failed to create thread \n");
else
printf("Thread create \n");
fytzzh 2006-05-09
  • 打赏
  • 举报
回复
http://blog.csdn.net/fytzzh/
有一些关于线程的文章
yaoyuhang 2006-05-09
  • 打赏
  • 举报
回复
先送一份windows版的。
明天送一份unix版的。
大同小异。
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>


DWORD WINAPI threadWork(LPVOID threadNo);

typedef struct{
int data;
}INTEGER;
int main(int argc,char *argv[]){
DWORD targetThreadID;
INTEGER *tmpInt;

CreateThread(NULL,0,threadWork,tmpInt,0,&targetThreadID);
while(1){
printf("Create Thread Sucess\n");
Sleep(5000);
}
}

DWORD WINAPI threadWork(LPVOID threadNo){
while(1){
printf("WINAPI threadWork \n");
Sleep(500);
}
}
Bread_0053 2006-05-08
  • 打赏
  • 举报
回复
ding
property1 2006-05-08
  • 打赏
  • 举报
回复
http://www.advancedlinuxprogramming.com/
tengulre 2006-05-08
  • 打赏
  • 举报
回复
pthread_create....
Bread_0053 2006-05-08
  • 打赏
  • 举报
回复
再次顶起来
Bread_0053 2006-05-08
  • 打赏
  • 举报
回复
自己顶起来

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧