void writer(void)
{
  int ID;
  P(&mutex); ID = global_ID++; V(&mutex);
  while(1){
 	writer_entry(ID);
	printf
	    ("\t\t\t\t[writer: #%d]\t&&&WRITING!&&&\n", ID);
	sleep(1);
	writer_exit(ID);
  };
}
void *writer()
{
	int ID;
	sem_wait(&mutex);
		ID = global_ID++;
	sem_post(&mutex);
	while(1)
	{
		writer_entry(ID);
		printf("Writer %d Writing\n", ID);
		sleep(1);
		writer_exit(ID);		
	}
}
void writer()
{
    int local_id;
    //Locking and unlocking the critical section to modify the shared variable
    P(mutex);
    local_id=idw++;
    V(mutex);

    while(1)
    {
        writer_entry(local_id);
        printf("\n Writer %d writing \n",local_id);
        sleep(1);
        writer_exit(local_id);
    }
}
Exemplo n.º 4
0
void writer() {
	while (1 > 0) {
	int wrc =0;
		//printf("Writer[%p]: Start\n", runQ);
		writer_entry();
		//printf("Writer[%p]: Entered\n", runQ);
		
		P(mutex);
		shared_int = 2;
		printf("Writer %d: %d\n", wrc++, shared_int);
		sleep(1);
		V(mutex);
		
		//printf("Writer[%p]: Exiting\n", runQ);
		if (wrc>2){
		wrc=0;}
		writer_exit();
		//printf("Writer[%p]: Exit\n", runQ);
	}
}