}
printf(\¾ÍÐ÷½ø³Ì¸öÊýΪ:%d\\n\
time_t t;
srand((unsigned) time(&t)); rd=rand()%num;//Ëæ»úº¯Êý²úÉúËæ»úÊý if(rd==1){ } else
strcpy(ready->state,\p=ready;
ready=ready->next; ready->next=p; p->next=NULL;
strcpy(ready->state,\
strcpy(ready->next->state,\
pc=ready->breakp;
void processor(){ //Ä£Äâ´¦ÀíÆ÷Ö¸ÁîÖ´ÐÐ
if(strcmp(ready->name,\µ±Ç°½ø³ÌΪÉú²úÕß
switch(pc) {
case 0://produce
printf(\Éú²úÕßÉú²úÁË×Ö·û%c\\n\rec_p[rp1]=str[sp];//Ìí¼Óµ½Éú²ú¼Ç¼
sp=(sp+1)%len;
pc++;
ready->breakp=pc; //±£´æ¶Ïµã break;
case 1: //p(s1)
pc++; p(1); break;
case 2: //put
buffer[in]=rec_p[rp1]; //·Åµ½»º³åÇø
printf(\×Ö·û³É¹¦Èëפ¿Õ»º´æ!\\n\rp1++;
in=(in+1)%BUF; pc++;
ready->breakp=pc; //±£´æ¶Ïµã break;
case 3: //v(s2)
pc++;
printf(\ÊÍ·ÅÒ»¸ös2ÐźÅ\\n\v(2); break;
case 4://goto01
printf(\Éú²ú½ø³Ìgoto 0 ²Ù×÷\\n\pc=0;
count--; //Ê£Óà×Ö·û¸öÊý¼õ1
printf(\Ê£Óà×Ö·ûcount=%d¸ö\\n\ready->breakp=pc; //±£´æ¶Ïµã
if(count<=0){ //Éú²ú½áÊø }
printf(\Éú²úÕß½áÊøÉú²ú!\\n\strcpy(p1->state,\strcpy(p1->reason,\ready->breakp=-1;
ready=ready->next;//ÔÚ¾ÍÐ÷¶ÓÁÐÖÐÈ¥µô
}
else //µ±Ç°½ø³ÌΪÏû·ÑÕß
switch(pc) {
case 0: //p(s2)
pc++; p(2); break;
case 1: //get
printf(\Ïû·ÑÕßÈ¡×Ö·û!\\n\temp=buffer[out]; out=(out+1)%BUF; pc++;
ready->breakp=pc; //±£´æ¶Ïµã break;
case 2: //v(s1)
pc++;
printf(\ÊÍ·ÅÒ»¸ös1\\n\v(1); break;
case 3: //consume
printf(\Ïû·ÑÁË×Ö·û%c\\n\rec_c[rp2]=temp;//Ìí¼Óµ½Ïû·Ñ¼Ç¼ rp2++; con_cnt++; if(con_cnt>=len){ }
strcpy(c1->state,\Íê³É̬ c1->breakp=-1; return;
}
pc++;
ready->breakp=pc; //±£´æ¶Ïµã break;
case 4: //goto0 }
printf(\Ïû·Ñ½ø³Ìgoto 0 ²Ù×÷\\n\pc=0;
ready->breakp=pc; //±£´æ¶Ïµã
void print(){
int i,j;
printf(\¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ªÉú²úÕßÏû·ÑÕßÄ£Ä⡪¡ª¡ª¡ª¡ª¡ª¡ª\\n\printf(\Ä£Äâ¹ý³ÌµÄ×Ö·û´®Îª:\\t\printf(\
printf(\ÒÑÉú²ú:\for(j=0;j<=rp1;j++)
printf(\
printf(\¿Õ»º´æ:\for(j=rp2;j<=rp1;j++)
printf(\
printf(\ÒÑÏû·Ñ:\for(j=0;j<=rp2;j++)
printf(\
printf(\¡ª¡ª¡ª¡ª¡ª¡ª¡ª½ø³Ì¿ØÖÆ¿éµÄÐÅÏ¢¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª\\n\printf(\½ø³ÌÃû\\t\\t״̬\\tµÈ´ýÔÒò\\t¶Ïµã\\n\
printf(\
reakp);
printf(\