linux system programming, 238p. 두 시간 삽질했다. thread arg 를 포인터로 주는데 여러 개를 쓰려면 struct로 정의해서 써야 한댄다. 맞는지 틀린지.. #include <pthread.h> #include <stdio.h> #include <unistd.h> //arg를 여러 파라미터로 사용하기 위해, //구조체로 정의 //https://stackoverflow.com/questions/52812004/parameter-passing-multiple-values-using-void-pointer //여기 참조 //공유 자원. int sharedInt=0; //mutex 설정. static pthread_mutex_t the_mutex = PTHREAD_MUTEX_INITIALIZER; struct myStruct { //struct는 initilizer를 지원하지 않음.…… mutex 예제 계속 읽기
[태그:] system program
thread 예제
linux system programming, 234p https://bitsoul.tistory.com/m/157 여기 참조. #include <pthread.h> #include <stdio.h> #include <unistd.h> void* start_routine(void* arg ){ int pid; int threadID; pid= getpid(); printf(“pid is %d\n”, pid); threadID = pthread_self(); printf(“tid is %lu\n”,threadID); printf(“data is %s\n”,arg); } int main(){ pthread_t thread[2]; const char *message1=”hello one”; const char *message2=”hello two”; const char *message3=”hello main”; int ret,…… thread 예제 계속 읽기
daemon 예제
linux system programming, 174p 예제 실행. #include <sys/types.h> #include <sys/stat.h> #include <stdlib.h> #include <stdio.h> #include <fcntl.h> #include <unistd.h> #include <linux/fs.h> int main (void) { pid_t pid, sid; int i; int j=0; /* create new process */ pid = fork (); printf(“Pid is %d \n”,pid); if (pid == -1) return -1; else if (pid != 0)…… daemon 예제 계속 읽기