Professional Documents
Culture Documents
MUTEX
Apparatus:
-PC
- LINUX Terminal.
ALGORITHM:
PROGRAM:
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
1
VIGNAN UNIVERSITY
Class: M.TECH EXP NO: ROLL NO:131FB06008
#include<string.h>
#include<ctype.h>
#include<pthread.h>
pthread_mutex_t mutex;
char buffer[BUFFER_SIZE];
void *convert_thread() {
pthread_mutex_lock(&mutex);
int i;
// pthread_mutex_lock(&mutex); // locking mutex
while(strncmp("stop", buffer, 4) != 0) {
printf("Converted text: ");
for(i=0;i<strlen(buffer);i++)
printf("%c",toupper(buffer[i]));
pthread_mutex_lock(&mutex); // locking mutex
}
pthread_exit("convert_thread exit successful");
}
2
VIGNAN UNIVERSITY
Class: M.TECH EXP NO: ROLL NO:131FB06008
int main()
{
int result;
pthread_t rthread,cthread;
void *thread_result;
if(result != 0){
printf("Mutex initialization failed");
exit(1);
}
printf("Enter text, the program will convert it into upper case,to stop enter 'stop'\n");
3
VIGNAN UNIVERSITY
Class: M.TECH EXP NO: ROLL NO:131FB06008
if(result != 0){
printf("read_thread join failed");
exit(1);
}
printf("read_thread joined, %s\n",thread_result);
4
VIGNAN UNIVERSITY
Class: M.TECH EXP NO: ROLL NO:131FB06008
OUT PUT:
RESULT: