学习pthreads
学习多线程的编程技术,使用pthreads。
何雷
小码农,辛勤耕耘每一寸土地
展开
-
学习pthreads,使用条件变量进行多线程之间的同步
互斥量通过控制对共享数据的访问来同步任务原创 2014-08-14 10:04:32 · 1401 阅读 · 0 评论 -
学习pthreads,使用互斥量进行同步
在进行多线程编程时,我们总会遇到全局变量和数据结构的问题,这是多线程之间进行通信的问题。如果多个线程同时读写一个全局变量,那么会造成竞争或者出错。为了解决这一问题,我们需要对全局数据进行,使用互斥量实现锁的机制,当某个线程在某个操作前进行了加锁,那么某个操作只能在这个线程进行,直至将锁去除,相当于在这里将多线程的并行变成了串行。本文重点学习如何使用互斥量进行全局数据的同步,分为三个部分,第一部分给原创 2014-08-13 15:50:43 · 1223 阅读 · 0 评论 -
学习pthreads,管理线程的栈
进程的地址空间分成代码段,静态数据段,堆和栈段。线程栈的位置和大小是从它所属的进程的栈中切分出来的。每个栈必须足够大,以容纳所有对等线程的函数的执行以及它们将会调用的例程链。或许你会问为什么要进行线程栈的管理?因为栈的管理由系统自动管理。但是针对具体问题,有可能系统自动管理的栈不能满足运行的要求,这时对线程的栈的管理是必要的。本文分为三个部分,第一部分给出管理线程栈的代码示例,第二部分对代码进行讲原创 2014-08-12 17:10:57 · 895 阅读 · 0 评论 -
学习pthreads,使用属性对象创建结合线程和分离线程
当我们创建了子线程,是让它犹如脱缰之马,信步驰骋,还是如乖巧听话的孩子,时不时教导一下呢?针对这个问题,本文介绍线程的结合和分离,结构分为三个部分,第一部分给出代码示例,第二部分对代码进行讲解,第三部分是运行结果。一 代码示例#include "StdAfx.h"#include #include #include #include #define NUM_THREADS原创 2014-08-12 14:19:06 · 1200 阅读 · 0 评论 -
学习pthreads,给线程传递多个参数
上篇博文中,boss线程给其他线程传递的只有一个参数,那么加入是多个参数呢?怎么传递呢?带着这个疑问,我们进入本文的世界,这里传递多个参数,采用结构体,为什么呢?因为结构体里可以根据自己的需要定义多个成员变量,传递过程中,我们只需要将结构体传给线程就可以了。原创 2014-08-12 08:56:42 · 3072 阅读 · 0 评论 -
学习pthreads,多线程的创建和终止
在多CPU多线程的编程中,通过作者的学习发现,pthreads的运用越来越广泛,它是线程的POSIX标准,定义了创建和操作线程的一整套API。环境的配置见上一篇博文,配置好环境后只需要添加#include ,就可以使用pthreads的API了。本文主要介绍一下如何使用pthreads创建多线程,并终止线程。分为三个部分,第一部分给出代码示例,第二部分对代码进行讲解,第三部分给出运行结果。一、原创 2014-08-11 16:50:56 · 1708 阅读 · 0 评论 -
Visual Studio2010 安装pthreads2.9.1
本人最近要利用多线程进行编程,前面一篇博文讲解的是利用VC自带的一些函数库,这里重点探讨一下如何配置pthreads2.9.1的Visual Studio2010的环境。本文分为两个部分,第一部分给出配置环境的详细步骤,第二部分给出一个验证pthreads是否已经配置好的程序,并给出结果。一、环境配置1、ftp://sourceware.org/pub/pthreads-win32,从该网原创 2014-08-06 15:49:46 · 4736 阅读 · 0 评论