Skip to content
Snippets Groups Projects
Commit 1aed3ad6 authored by Ji Hun Kim's avatar Ji Hun Kim
Browse files

Added lec14

parent 854466aa
Branches
No related tags found
No related merge requests found
...@@ -8,7 +8,8 @@ int bbb = 0; ...@@ -8,7 +8,8 @@ int bbb = 0;
void fn_s() void fn_s()
{ {
static int a = 0; static int a = 0;
printf("== %d %d ==\n",a++, bbb++); setvbuf(stdout, _IOFBF, NULL, 10);
printf("== %.2d %.2d ==",a++, bbb++);
} }
......
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <pthread.h>
int bbb = 0;
void fn_s()
{
static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
static int a = 0;
printf("<= %d %d =>",a, bbb);
pthread_mutex_lock(&mutex);
a++; bbb++;
pthread_mutex_unlock(&mutex);
}
void *run (void *arg)
{
printf("Hello world of POSXI threads.%d\n", (int) pthread_self() );
for (int i = 0; i < 1000000; i++)
{
//usleep(10000);
fn_s();
}
return 0;
}
int main()
{
pthread_t thread1;
pthread_t thread2;
pthread_t thread3;
int result1, result2, result3;
pthread_create(&thread1, NULL, run, NULL );
pthread_create(&thread2, NULL, run, NULL );
pthread_create(&thread3, NULL, run, NULL );
run((void *) 0);
pthread_join(thread1, (void **) &result1);
pthread_join(thread2, (void **) &result2);
pthread_join(thread3, (void **) &result3);
printf("\nThread return %d at the end\n", result1);
}
#include <stdio.h>
int main()
{
char a;
short b;
int c;
long long d;
fscanf(stdin, "%d %d %d %d", &a, &b, &c, &d);
fprintf(stdout, "%d %d %d %d\n", a, b, c, d);
}
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int bbb = 0;
void fn_s()
{
static int a = 0;
printf("== %d %d ==",a++, bbb++);
fflush(stdout);
}
void *run (void *arg)
{
printf("Hello world of POSIX threads.%d\n", (int) (0) );
for (int i = 0; i < 10; i++)
{
sleep(1);
fn_s();
}
return 0;
}
int main()
{
int result1;
//char bufff[10];
//setvbuf(stdout,bufff, _IONBF, 10);
run((void *) 0);
printf("Thread return %d at the end\n", result1);
}
#include <pthread.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
int bbb = 0;
void fn_s()
{
static int a = 0;
printf("<= %.4d %.4d =>",a++, bbb++);
fflush(stdout);
}
void *run (void *arg)
{
printf("Hello world of POSIX threads.%d\n", (int) pthread_self() );
for (int i = 0; i < 100; i++)
{
usleep(10000);
fn_s();
}
return 0;
}
int main()
{
pthread_t thread1;
pthread_t thread2;
pthread_t thread3;
int result1;
int result2;
pthread_create(&thread1, NULL, run, NULL );
printf("\nJUST AFTER THE CREATE\n");
run((void *) 0);
pthread_create(&thread2, NULL, run, NULL );
pthread_create(&thread3, NULL, run, NULL );
pthread_join(thread1, (void **) &result1);
pthread_join(thread2, (void **) &result2);
printf("\nThread return %d at the end\n", result1);
printf("Thread return %d at the end\n", result2);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment