多线程
bian_qing_quan11
这个作者很懒,什么都没留下…
展开
-
c++中多个线程使用同一个函数
我是小白,最近在学习实现一个简单的线程池,线程池中维护了一个存放线程的数组以及一个任务队列。在创建线程池(构造函数中)时创建若干个线程,起始时由于任务队列中没有任务,创建的每一个线程都处于阻塞状态。使用pthread_create函数创建线程时把所有的线程与同一个函数关联在一起,也就是产生如下的代码:pthread_t p[5]; //线程池中有5个线程for(int i = 0; i原创 2017-05-08 22:57:29 · 16606 阅读 · 4 评论 -
pthread_join函数
pthread_join函数1、 函数功能:在某个函数func中调用该函数的话,意思是等待pthread_join中的线程执行完后才会往下执行。Void func(){ … pthread_join(th,NULL); …}寓意是:当func函数执行到pthread_join时,会以阻塞方式等待线程t原创 2017-04-25 17:35:37 · 3438 阅读 · 0 评论 -
linux中互斥量与条件变量的使用
一、Linux下的互斥量:对于某个共享资源,它是被多个线程共同拥有的,不能被某一个线程单独占有,当某个线程使用这个共享资源时其他线程不能使用,这时就需要一个互斥量来控制对共享资源的互斥访问。总而言之互斥量是为了使线程之间能够互斥的访问某个共享资源。初始化:互斥量的类型pthread_mutex_t mutex_, 在使用该互斥量前要对其初始化。对互斥量的初始化方法有两种:1、 使原创 2017-04-25 12:14:05 · 644 阅读 · 0 评论 -
Linux中fork系统调用
1. fork系统调用头文件:;2. fork系统调用的原型:pid_t fork();3. fork系统调用的返回值:pid_t是进程描述符类型,本质就是一个int。如果fork函数执行失败,返回一个负数(4. fork系统调用的功能:以当前进程作为父进程创建出一个新的子进程,并且将父进程的所有资源拷贝给子进程,这样子进程作为父进程的一个副本存在。父子进程几乎时完全相同的,但也有原创 2017-05-16 09:17:25 · 970 阅读 · 0 评论 -
linux中线程ID与进程ID
这篇博客主要是想通过线程ID和进程ID来说明进程和线程之间的关系,说明比较简单,直接上代码。代码也容易理解。#include#include#include#include#include#include#include#define gettid() syscall(_NR_gettid)using namespace std;void *print1(void *arg)原创 2017-05-15 21:07:01 · 1561 阅读 · 0 评论