Skip to content
Snippets Groups Projects
Commit eb6eedc0 authored by 이소현's avatar 이소현
Browse files

lec14

parent 08dd7aee
No related branches found
No related tags found
No related merge requests found
......@@ -7,14 +7,14 @@ int bbb = 0;
void fn_s()
{
static int a = 0;
printf("== %d %d ==\n",a++, bbb++);
printf("== %d %d ==",a++, bbb++);
}
void *run (void *arg)
{
printf("Hello world of POSXI threads.%d\n", (int) (0) );
for (int i = 0; i < 100; i++)
for (int i = 0; i < 10; i++)
{
sleep(1);
fn_s();
......@@ -26,6 +26,8 @@ void *run (void *arg)
int main()
{
int result1;
char bufff[10];
setvbuf(stdout,bufff, _IOFBF, 10);
run((void *) 0);
sleep(10);
......
#include <stdio.h>
int main()
{
char a;
short b;
int c;
long long d;
scanf("%hhd %hd %d %lld", &a, &b, &c, &d);
printf("%hhd %hd %d %lld\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 <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 < 1000; 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);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment