Операционные системы. Замятин А.В - 75 стр.

UptoLike

Составители: 

75
arg->z = z;
arg->x = S[i][z];
// создание потока для вычислений
pthread_create (&thread, NULL, calc_thr, (void *)arg);
// перевод потока в отсоединенный режим
pthread_detach(thread);
// for (int z=0; z<SIZE_J; z++)
} // for (int i=0;i<SIZE_I; i++)
do {
// Основной процесс "засыпает" на 1с
sleep(1);
// Проверка состояния вычислений
printf("finished %d threads.\n", count);
} while ( count < SIZE_I*SIZE_J);
// Вывод результатов
for (int i=0;i<SIZE_I; i++) {
for (int z=0; z<SIZE_J; z++) {
printf("X[%d][%d] = %f\t", i, z, X[i][z]);
}
printf("\n");
}
// удаление мьютекса
pthread_mutex_destroy(&lock);
return 0;
}
Пример многопоточной программы с синхронизацией семафорами:
#include "main.h"
#include <iostream.h>
#include <semaphore.h>
#include <fstream.h>
#include <stdio.h>
#include <error.h>