原理:
作一个2×2正方形的内切圆,其圆心假设为(0,0)(如下图所示)且半径为1,生成一系列随机点(x,y)且这些点必须在正方形内,在所产生的所有随机点中,有一些点会出现在圆内,然后通过以下公式估算圆周率π的值:
π = 4×(圆内点总数)/(点的总数)
主要使用的头文件:
pthread.h头文件下的各类函数及变量:
//pthread.h头文件
#include<pthread.h>
//定义线程变量
typedef uintptr_t pthread_t;
//线程的创建
int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr, void *(*start_rtn)(void *), void *restrict arg);
//等待线程执行完成
int pthread_join(pthread_t thread, void **retval);
//定义互斥锁变量
typedef void *pthread_mutex_t;
//互斥锁的初始化
int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr);
//或者使用以下宏定义直接赋值
#define PTHREAD_MUTEX_INITIALIZER (pthread_mutex_t)GENERIC_INITIALIZER
//申请互斥锁
int pthread_mutex_lock(pthread_mutex_t *m);
//释放互斥锁
int pthread_mutex_unlock(pthread_mutex_t *m)
//销毁互斥锁
int pthread_mutex_destroy(pthread_mutex_t *m);
time.h头文件下的各类函数及变量:
//time.h头文件