实验任务
在windows操作系统上,利用Windows API编写程序用多线程实现矩阵乘法。实现A、B两个矩阵的乘法,并输出计算结果。
该实验相对比较简单,可先看实验报告的实验步骤,然后需要了解一下几个关于pthread里的函数使用:
(1)pthread_join函数:
函数pthread_join用来等待一个线程的结束。
函数定义: int pthread_join(pthread_t thread, void **retval);
描述 :
pthread_join()函数,以阻塞的方式等待thread指定的线程结束。当函数返回时,被等待线程的资源被收回。如果进程已经结束,那么该函数会立即返回。并且thread指定的线程必须是joinable的。
参数 :
thread: 线程标识符,即线程ID,标识唯一线程。
retval: 用户定义的指针,用来存储被等待线程的返回值。
返回值 : 0代表成功。 失败,返回的则是错误号。
看下面一段程序:
#include <pthread.h>
#include <unistd.h>
#include <stdio.h>
void *thread(void *str)
{
int i;
for (i = 0; i < 10; ++i)
{
sleep(2);
printf( "This in the thread : %d\n" , i );
}
return NULL;
}
int main()
{
pthread_t pth;
int i;
int<