шпаргалка

.MESAJE

[ Назад ]
^#include <sys/types.h>
^#include <sys/ipc.h>
^#include <sys/msg.h>
^int msqid;
^struct msqid_ds buf;
^struct msgform
{
^long mtype;
^char mtext[256];
}
msg;
^int life=64;
^main()
{
^pid_t pid;
^msqid= msgget(IPC_PRIVATE, IPC_CREAT | 0644);
^if(msqid== -1){
^printf("Nu se mai poate aloca o noua coada de mesaje!
");
^exit(-1);
}
^printf("msqid= [procent]d ", msqid);
^msgctl(msqid, IPC_STAT, [and]buf);
^printf("msg_qbytes= [procent]d ", buf.msg_qbytes);
^printf("msg_qnum= [procent]d ", buf.msg_qnum);
^printf("msg_cbytes= [procent]d
", buf.msg_cbytes);
^if (fork()== 0)
{
//proces consumator
^while(life--)
{
^if(msgrcv(msqid, [and]msg, 256, 17, !IPC_NOWAIT)== -1)
^perror("msgrcv()");
^else
^printf(">> C[procent]d:[procent]c
", life, msg.mtext[0]);
}
^exit(0);
}
^else
{
//proces producator
^while(life--)
{
^msg.mtype=17;
^msg.mtext[0]=life[procent]2==0?'#':'*';
^printf("<< P[procent]d:[procent]c
",life, msg.mtext[0]);
^if(msgsnd(msqid, [and]msg, 256, IPC_NOWAIT)== -1)
^perror("msgsnd()");
}
^do
{
^msgctl(msqid, IPC_STAT, [and]buf);
}
^while(buf.msg_qnum!=0);
^msgctl(msqid, IPC_RMID, (struct msqid_ds *) 0);
^exit(0);
}
}

КАТЕГОРИИ:

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