[code]#include
by alexandnpu - C/C++ - 2010-08-23 16:45:51 阅读(2594) 回复(9)
利用linux多线程技术实现生产者-消费者问题。多线程技术一直是软件开发中非常重要的技术,本题主要是利用linux下的多线程技术实现生产者、消费者问题。要求生产者,消费者的操作采用线程来处理,利用多线程技术和同步技术实现生产-消费问题,另外,自己再添加一个线程对生产者线程和消费者线程进行控制。 举个例子
http://baike.baidu.com/view/400319.htmlinux多线程设计 1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年 代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多 进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括linux。 为什么有了进程的概念后,还...
使用多线程的理由: 1.在linux系统下,启动一个新的进程必须分配给它独立的地址空间,建立众 多的数据表来维护它的代码段、堆栈段和数据段,这是一种"昂贵"的多任务工 作方式。而运行于一个进程中的多个线程,它们彼此之间使用相同的地址空 间,共享大部分数据,启动一个线程所花费的空间远远小于启动一个进程所 花费的空间,而且,线程间彼此切换所需的时间也远远小于进程间切换所需 要的时间. 2.线程间方便的通信机制。对不同进...
linux多线程编程 2008-07-14 13:11:54 /* * 一个简单的linux 多线程编程实例,源码来自网络 */ #include #include #include #include #define MAX 2 pthread_t thread[2]; pthread_mutex_t mut; int number=0, i; void *thread1(void) { printf("thread1 : I`m thread 1 \n"); for (i=0; i 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/103668/showart_2042947.html
linux系统下的多线程遵循POSIX线程接口,称为pthread。编写linux下的多线程程序, 需要使用头文件pthread.h,连接时需要使用库 /usr/lib/libpthread.so或者/usr/lib/libpthread.so。 pthread_t定义/usr/include/bits/pthreadtypes.h中: typedef unsigned long int pthread_t; 函数说明: 创建线程成功后,新创建的线程则运行参数三和参数四确定的函数,原来的线程则继续运行下一行代码。 #include pt...
1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的 佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多 操作系统所支持,包括Windows/NT,当然,也包括linux。 为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处?什么的系统应该选用多线程?...
现在有一段比较恶搞和无聊的程序,纯属是新手练手,虽然程序的功能没有什么意义,但是有个问题,需要大家指点。请大家看看:[code]/*
* psc.c
*
* Created on: 2010-10-19
* Author: hacker
*/
#include
线程的创建 int pthread_create(pthread_t *tid, const pthread_attr_t *attr, void *(*start_rtn)(void), void *arg); pthread_create创建成功时返回0,tid存放创建线程的id,第二个参数为创建线程的属性,第三个为线程的执行路径,第四个参数为传给创建线程的参数 线程的退出 线程可以选择三种方式退出,在不终止整个进程的情况下停止它的执行流。 1. 线程从启动例程中返回,返回值是线程的退出码。 2. ...
linux多线程设计 1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括linux。 为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处?什么的系...
linux中的多线程使用了libpthread.a,因为在编译的时候需要加入该库-lpthread。多线程跟多进程不一样,线程是基于进程而存在的,线程之间共享了进程的数据,因为在使用多线程时,需要放置对共享数据的破坏。 linux多线程pthread的函数声明在中,因此在使用该函数时,需要把该头文件引入。 线程的创建 1、创建 int pthread_create( pthread_t *restrict tidp, const pthread_attr_t *restrict attr, void *(* func) (void...