목록2021/09 (104)
치춘짱베리굿나이스
스레드 함수 예제와 다르게 이번에는 메인 스레드와 별개의 스레드에서 하위 스레드를 생성하여 두 속성의 차이를 확인해보았다 pthread_join /* ************************************************************************** */ /* */ /* ::: :::::::: */ /* test_thread_join.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: jiychoi +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2021/08/06 10:25:21 by jiychoi #+# #+# */ /* Updated: 2021/08/06 11:05:40 by jiychoi ### ###..
아니 마크다운이 다 깨지네... 하느님 나에게 왜 이딴 시련을... 코드 /* ************************************************************************** */ /* */ /* ::: :::::::: */ /* test_create_join_detach.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: jiychoi +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2021/08/03 15:02:52 by jiychoi #+# #+# */ /* Updated: 2021/08/03 16:43:38 by jiychoi ### ########.fr */ /* */ /* ************..
프로그램 실행 가능한 코드라인들이 저장된 파일 모든 프로그램은 운영체제로부터 실행되기 위한 메모리 공간을 할당받아야 프로그램에 정의된 대로 동작을 수행할 수 있다 허나 이러한 자원을 할당받지 않았기 때문에 동작하지 않은 채로 저장소 어딘가에 잠들어 있다 (아직 메모리에는 올라가 있지 않은 정적인 상태) 윈도우의 *.exe, 맥의 *.dmg가 이에 해당한다 프로그램을 실행시키면 ↓프로세스가 생성되며, 프로세스는 적절한 자원을 할당받고 이를 이용하여 프로그램에 저장되어 있던 코드라인들을 실행시키면서 우리가 원하는 동작을 하는 것 프로세스 메모리에 올라와 실행되고 있는 프로그램의 인스턴스 (독립적인 개체) 프로그램은 실행 가능한 파일을 일컫고, 프로세스는 이 프로그램을 실행시켰을 때 메모리에 올라가 운영체제로..
철학자에 손도 안 댄지 어연 한달째... 다시 재개해보고자 한다... I've never thought philosophy would be so deadly. 굶어죽는 철학자 주의사항 무지성으로 코딩했다가 후회할 것이다 스레드와 뮤텍스 (필수파트), 프로세스와 세마포어 (보너스파트) 를 많이 공부하도록 하자 철학자가 죽는 것을 어떻게 알아채야 할까? 철학자 감시 스레드를 하나 만들어서 main 스레드로부터 join하기 철학자 감시 스레드 하위에 철학자들을 생성하고 detach한 후, philo_setting 구조체 내부의 if_dead 계속 감시하기 이 방식을 사용하면 철학자 감시 스레드와 철학자 스레드들이 같이 돌기 때문에 누가 죽는지 파악이 가능 사전에 공부해야 할 내용 Mandatory 프로세스와 ..
윤년 문제 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다. 입력 첫째 줄에 연도가 주어진다. 연도는 1보다 크거나 같고, 4000보다 작거나 같은 자연수이다. 출력 첫째 줄에 윤년이면 1, 아니면 0을 출력한다. 풀이 #include int main(void) { int n; scanf("%d", &n); if ((n % 4 == 0 && n % 100 != 0) || n % 4..
기찍 N 문제 자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄부터 N번째 줄 까지 차례대로 출력한다. 풀이 #include int main(void) { int n; scanf("%d", &n); while (n > 0) printf("%d\n", n--); } 반성회 제목의 기찍 N이 무슨뜻인지 너무 궁금했는데 N 찍기를 거꾸로 한 거라서 기찍 N 이었음 이거 깨닫고 나서 너무 화가났다
숫자의 합 문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. 출력 입력으로 주어진 숫자 N개의 합을 출력한다. 풀이 #include int main(void) { int n; int index; char tmp; int sum; index = -1; sum = 0; scanf("%d\n", &n); while (++index < n) { scanf("%c", &tmp); sum += (tmp - '0'); } printf("%d", sum); } 반성회 첨에 scanf("%d", &n); 하니까 자꾸 \n이 받아져서 fflush(st..
아스키 코드 문제 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. 입력 알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다. 출력 입력으로 주어진 글자의 아스키 코드 값을 출력한다. 풀이 #include int main(void) { char n; scanf("%c", &n); printf("%d", n); } 반성회 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 하...