linux多线程实践1
来源:互联网 发布:淘宝详情页切图大小 编辑:程序博客网 时间:2024/05/21 04:20
#include <pthread.h>#include <cmath>#include <iostream>void* IsPrime(void* n){ unsigned int p=reinterpret_cast<unsigned int>(n); unsigned int i=3u,t=(unsigned int)(sqrt(p)+1u); if(p==2u) { return reinterpret_cast<void*>(true); } if(p%2u==0) { return reinterpret_cast<void*>(false); } while(i<=t) { if(p%i==0u) return reinterpret_cast<void*>(false); i+=2u; } return reinterpret_cast<void*>(true);}int main(){ pthread_t tids[8]; bool primalities[8]; int i; for(i=0;i<8;i++) pthread_create(&tids[i],NULL,&IsPrime,reinterpret_cast<void*>(i+2)); for(i=0;i<8;i++) pthread_join(tids[i],reinterpret_cast<void**>(&primalities[i])); for(i=0;i<8;i++) std::cout<<primalities[i]<<" "; std::cout<<std::endl; return 0;}
请使用g++ main.c -pthread -lm -fpermissive命令编译
其中pthread_join的第二个参数存的是指向void*的指针;
阅读全文
0 0
- linux多线程实践1
- Linux多线程实践(1) --线程理论
- Linux多线程实践(1) --线程理论
- Linux多线程实践(1) --线程理论
- Linux多线程实践(1) --线程理论
- Linux多线程实践
- Linux多线程编程(实践)
- Linux多线程实践(7) --多线程排序对比
- Linux编程实践----第一个多线程程序
- Linux多线程实践(2) --线程基本API
- Linux多线程实践(2) --线程基本API
- Linux多线程实践(3) --线程属性
- Linux多线程实践(4) --线程特定数据
- Linux多线程实践(2) --线程基本API
- Linux多线程实践(4) --线程特定数据
- Linux多线程实践(3) --线程属性
- Linux多线程实践(2) --线程基本API
- Linux多线程实践(3) --线程属性
- Android进程保活招式大全
- JS语法概要二
- 海思Hi3521A开发概述
- Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别?
- 一看你就懂,超详细java中的ClassLoader详解
- linux多线程实践1
- 设计师还需要会看数据
- 第23讲项目4-三角公式求值
- gradle构建APP过程
- 二叉树计算题总结
- 利用反射得到属性的值
- SLAM基础技术点之基于计算机视觉求解相机姿态变化的方法汇总
- 命令模式
- IO--实例操作