3. Мониторлар қай кезде қолданылады.
қабілетті процессорлардың жиынтығы.
жүріп қана қоймай, параллель орындалатын программа.
buf айнымалысы – өзараәсер ету буфері болып табылатын жеке бөлінетін
бүтін айнымалылар.
Produser (өндіруші) және Consumer(тұтынушы) процесстері buf
айнымалысына кезекпен кезек ене алады. Produser а массивінің бірінші
элементін buf –ке салып, сонан соң Consumer оны алады, сонан соң Produser
buf буферіне а массивінің келесі элементін салады, және т.с.с. р және с
бөлінетін айнымалылыар айнымалылар санының санағышы болсын. Олардың
бастапқы мәні =0. Сонда Produser (өндіруші) және Consumer(тұтынушы)
процесстерінің синхронизацилану шарты төменгі түрде жазылады:
РС: c<=p<=c+1
с және р айнымалыларының мәні 1 ден артық мәнге айырмашылығы
болмайды. Осы екі процесстің коды төменде берілген:
int buf, p=0, c=0;
process Procedur
{
Int a[n];
While (p
{
buf =a[p];
p=p+1;
}
}
Process Consumer
{
Int b[n];
While (c
{ c); >
b[c]=buf;
c=c+1;
}
}
Әдебиеттер
1. А. Ж. Акжалова. Параллельные вычисления. Учебное пособие. – Алматы:
Издательство ТОО «Print S»,- 2004
2. Грегори Р. Эндрюс. Основы многопоточного, параллельного и
распределенного программирования. Пер. с англ.-М.: Издательский дом
«Вильямс», 2003.
3. Воеводин Вл. Параллельная обработка данных. Санкт-Петербург, 2002.
4. Немнюгин С.А., Стесик О.Л. Параллельное программирование для
высокопроизводительных многопроцессорных систем. Санкт-Петербург,
2002.