
多线程学习
agul_
中科院计算技术研究所在读硕士,主要研究方向为知识图谱
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
多线程(一):生成多个线程
其实只在前一篇文章的基础上改了少许代码#include #include #define THREADNUM 3void thread(int i) { printf("This is thread:%d\n", i); pthread_exit(NULL);}int main(void) { pthread_t id[THREADNUM]; int ret, i;原创 2013-05-24 21:01:50 · 1266 阅读 · 0 评论 -
多线程(三):动态任务划分&静态任务划分
首先这是老师给出的定义——静态任务划分:问题划分成相对独立的与CUP个数相等的子问题;动态任务划分:问题具有n(>CUP个数)个相对独立的子问题时,尚未处理的子问题分配给空闲线程。用实例来说明,这个例子实现了静态任务划分,而前几篇文章的例子都属于动态任务划分。#include #include typedef struct myTestType{ int thread原创 2013-05-27 12:38:10 · 4345 阅读 · 0 评论 -
多线程(二):更复杂一点的程序
本代码实现统计给定整型数组中素数的个数,其中传递给线程的参数是一个结构。#include #include int num = 0;typedef struct myTestType{ int threadID; int threadNum; int dataNum; int *input; int *output; int *index; pthread_mu原创 2013-05-26 20:12:19 · 1554 阅读 · 0 评论 -
多线程(零):入门——一个最简单的多线程程序
#include #include void thread(void) { int i; printf("This is a thread.\n"); pthread_exit(NULL);}int main(void) { pthread_t id; int ret; ret = pthread_create(&id, NULL, (void *)thread, NULL原创 2013-05-24 20:37:25 · 1855 阅读 · 0 评论 -
多线程(四):任务一->线程汇合->任务二
本次实验要实现的是先判断input中的数是素数还是合数,然后对于input中的合数,寻找这个合数的最大约数(这个约数从input中的素数寻找)。然后把所找到的最大约数的行号以及合数的行号输出到一个数组中,要求这个数组的大小应该是input中合数的两倍。不过从我的执行结果来看,并不是所有的合数都能在input的素数中找到约数,也不知道我的结果对不对..还有一个要求,这两个具有先后顺序的功能必须在同一原创 2013-05-29 12:17:09 · 1572 阅读 · 0 评论 -
多线程(五):线程多次汇合控制
这终于是最后一个实验作业了......因为做课设,所以拖了好几天,到现在才写。好了不多说废话了,进入正题。。本次实验的流程大概是任务一->线程汇合->任务二->线程汇合->从头开始。其中任务一仍然是判断素数还是合数然后输出到output中,任务二是对input重新赋值然后清理output(清理这部分我没弄)。还是先贴出代码:#include #include typedef原创 2013-06-01 17:14:19 · 1809 阅读 · 2 评论 -
多线程(六):线程的多次汇合控制改进版
上篇文章的代码中sleep函数用的很是不合适,所以改了一下代码(其实就是多加了两个变量),删去sleep之后,程序瞬间结束~~下面是代码:#include #include typedef struct myTestType{ int threadID; int dataNum; int repeatNum; int *threadNum; int *input;原创 2013-06-10 14:55:39 · 1206 阅读 · 0 评论