шпаргалка

,SEMNALE

[ Назад ]
^#include <stdio.h>
^#include <stdlib.h>
^#include <signal.h>
^#define TRUE 1
^#define FALSE 0
^int produce=FALSE;
^int consuma=FALSE;
^void intSIGALRM()
{
^produce=TRUE;
}
^void intSIGTERM()
{
^consuma=TRUE;
}
^int main()
{
^unsigned char articol;
^int life=10;
^int pid1, pid2;
^int fildes[2];
^signal(SIGALRM, intSIGALRM);
^signal(SIGTERM, intSIGTERM);
^pipe(fildes);
^if((pid1=fork())==0){
// proces producator
^close(fildes[0]);
^while(life--){
^while (produce==FALSE);
^articol=(unsigned char)rand();
^write(fildes[1],[and]articol,sizeof(articol));
^printf("
P[procent]d:[procent]02X >> ", life, articol);
^fflush(stdout);
^produce=FALSE;
^signal(SIGALRM, intSIGALRM);
^signal(SIGTERM, SIG_IGN);
^kill(0, SIGTERM);
}
^exit(0);
}
^if((pid2=fork())==0){
// proces consumator
^close(fildes[1]);
^while(life--)
{
^while (consuma==FALSE);
^read(fildes[0],[and]articol,sizeof(articol));
^printf("C[procent]d:[procent]02X", life, articol);
^fflush(stdout);
^consuma=FALSE;
^signal(SIGTERM, intSIGTERM);
^signal(SIGALRM, SIG_IGN);
^kill(0, SIGALRM);
}
exit(0);
}
// proces coordonator
^kill(pid1,SIGALRM);
^return 0;
}

КАТЕГОРИИ:

Network | английский | архитектура эвм | астрономия | аудит | биология | вычислительная математика | география | Гражданское право | демография | дискретная математика | законодательство | история | квантовая физика | компиляторы | КСЕ - Концепция современного естествознания | культурология | линейная алгебра | литература | математическая статистика | математический анализ | Международный стандарт финансовой отчетности МСФО | менеджмент | метрология | механика | немецкий | неорганическая химия | ОБЖ | общая физика | операционные системы | оптимизация в сапр | органическая химия | педагогика | политология | правоведение | прочие дисциплины | психология (методы) | радиоэлектроника | религия | русский | сертификация | сопромат | социология | теория вероятностей | управление в технических системах | физкультура | философия | фотография | французский | школьная математика | экология | экономика | экономика (словарь) | язык Assembler | язык Basic, VB | язык Pascal | язык Си, Си++ |