예제 #1
0
int main() {
	int x = 0;

	mcreate(0, func0, (void *) &x);
	x++;
	printf("Sou a main após criar a thread 0, com x = %d\n", x);
	myield();
	mcreate(0, func1, (void *) &x);
	x++;
	myield();
	x++;
	myield();
	

	exit(0);
}
예제 #2
0
void *func1(void *arg)
{
	printf("Sou a thread 1 imprimindo %d\n", *((int *) arg));
	myield();
	printf("Sou a thread 1, agora imprimindo %d\n", *((int *) arg));
	return NULL;
}
예제 #3
0
파일: munlock.c 프로젝트: mhbackes/sisop1
void print_thread_mutex(thread_t* t){
	printf("Thread: %d, prio: %d - iniciando.\n", t->id, t->prio);
	mlock(&mutex);
	printf("Thread: %d, prio: %d - entrou no mutex.\n", t->id, t->prio);
	myield();
	munlock(&mutex);
	printf("Thread: %d, prio: %d - saiu do mutex.\n", t->id, t->prio);		
}
예제 #4
0
void *func(void *arg){

   while ( inc < MAX_SIZE ) {
       vetor[inc] = (int)arg;
       inc++;
       if ( (inc % 20) == 0 )
           myield();
       else
           continue;
   }

   return (NULL);
}
예제 #5
0
void *func(void *arg){
   printf("Starting func... remaining threads: %d\n", sizeOf(ready1));
   while ( inc < MAX_SIZE ) {
       vetor[inc] = (int)arg;
       inc++;
       if ( (inc % 20) == 0 )
          myield();
       else
           continue;
   }

   return (NULL);
}
예제 #6
0
파일: mutex1.c 프로젝트: dmknob/INF01142
void *makeWork()
{
	myield();
	while(workDone < MAX_WORK)
	{
		mlock(&mutex);
		lastWork = workDone;
		workDone++;
		munlock(&mutex);
		if (workDone <= lastWork || workDone -1 != lastWork)
		{
			puts("Mutual Exclusion error!!!!!!!");
			printf("%d -> %d\n", lastWork, workDone);
			exit(0);
		}
		if (workDone < MAX_WORK)
		{
			printf("Work #%d done.\n", workDone);
			myield();
		}
	}
        return (NULL);
}
예제 #7
0
파일: teste.c 프로젝트: vfcastro/mthread
int main(int argc, char *argv[]) {

    int	id0, id1, id2;
	int i;

    id0 = mcreate(0, func0, (void *)&i);
    id1 = mcreate(0, func1, (void *)&i);
    id2 = mcreate(0, func1, (void *)&i);

    printf("Eu sou a main após a criação de tid=%d e tid=%d e tid=%d\n",id0,id1,id2);
    
    myield();

    printf("Eu sou a main voltando para terminar o programa\n");
}