본문 바로가기

프로세스간 통신 멀티 프로세스 이용시 문제점 - 프로세스는 메모리가 독립적으로 존재하기 때문에 메모리를 이용하여 프로세스간 데이터를 주고 받는 것은 불가능 - 해결책 : 서로 독립된 프로세스들이 데이터를 주고받기 위해 운영체제가 ‘파이프’를 제공함 파이프 생성 함수 - 하나의 파이프 및 파이프에 대한 두 개의 파일 디스크립터가 생성 - 하나의 파이프를 프로세스들이 공유한다. #include int pipe(int fd[2]); 성공시 0, 실패시 -1 리턴 - fd : 크기가 2인 int형 배열을 요구 - fd[0] : 함수호출 후 fd[0]에 데이터를 입력받을 수 있는 파일 디스크립터가 담김 (파이프 출구) - fd[1] : 함수호출 후 데이터를 출력할 수 있는 파일 디스크립터가 담김 (파이프 입구) #include .. 더보기
final 변수 final 변수 : 변수에 값을 딱 한번만 대입할 수 있는 변수 package kr.ac.busanit; import java.lang.*; //생략되있지만 항상 적혀 있음. import java.util.Scanner; public class InputTest { public static void main(String[] args) { final double pi; double radius = 2.0; pi = 3.14; double circum = 2 * pi * radius; System.out.println(circum); //pi = 3.14159; //에러발생!!!!!! final을 지우면 에러발생하지않음 double area = pi * radius * radius; System.out.pr.. 더보기
양방향 통신(1:1 대화) talk_server.c #include #include #include #include #include #include #include #include #include #include #define MAXLINE 512 void z_handler();// 시그널 처리 함수 char *escapechar = "exit"; // 종료 문자열 int main(int argc, char *argv[]) { int server_sock; int client_sock; int clntlen; int num; char sendline[MAXLINE]; char recvline[MAXLINE]; int size; pid_t fork_ret; struct sockaddr_in client_addr; struct soc.. 더보기