rendered paste body#include <stdio.h>#include <pthread.h>#include <unistd.h>#define LIMIT 10000int buffer = 0;int max = 5;int vez = 0;int querEntrar[2];void *producer(){ int c; for (c = 0; c < LIMIT; c++) { querEntrar[0] = 1; vez = 1; while (querEntrar[1] == 1 && vez == 1) { usleep(100); } if (buffer < max) { buffer++; printf("Buffer: %d\n", buffer); } querEntrar[0] = 0; usleep(100); } pthread_exit(NULL);}void consumer(){ int c; for (c = 0; c < LIMIT; c++) { querEntrar[1] = 1; vez = 0; while (querEntrar[0] == 1 && vez == 0) { usleep(100); } if (buffer > 0) { buffer--; printf("Buffer: %d\n", buffer); } querEntrar[1] = 0; usleep(100); }}int main(int argc, char **argv){ pthread_t thread; querEntrar[0] = 0; querEntrar[1] = 0; vez = 0; pthread_create(&thread, NULL, &producer, NULL); consumer(); pthread_exit(NULL);}