기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

[리눅스], 하나의 프로그램에서 , 녹음과 음악 play를 동시에 하는것이 가능한가요?


쉽게 생각할 수 있는게,

1. 멀티 프로세스를 사용하는법 --> 이 경우에는 자원을 공유하기 때문에 문제가 생기지 않을까요?


2. 쓰레드를 쓰는 법 :  --> 이 경우에는 자원을 공유하기 때문에 문제가 생기지 않을까요?


3. 두개의 실행 파일을 만들고, 한 프로그램에서, 스크립트로 다른 프로그램을 실행시키는 방법  --> 이 경우 실행되고 있는 프로세스에 command 같은것은 어떻게 전달 하나요?




고도리

2017.07.13 08:17:02
*.197.16.108

가능합니다.


1. 멀티프로세스라면, 하나의 프로그램에서 제어가 힘들겁니다.

   IPC로 제어해야 하는데....쩝


2. 보통은 멀티 쓰레드로 작성합니다.

   자원은 play/record가 서로 따로 열리기 때문에 메모리 공유부분만 신경쓰면 됩니다.

   물론, 따로 동작하므로 메모리는 거의 겹칠일이 없을겁니다.


3. 1번과 같은방법인데, IPC로 하는게 맞습니다만, 제어가 쉽지 않을겁니다.

김민욱

2017.07.13 19:05:40
*.131.77.55

답변 감사합니다..  ^^

Jazzguitar

2017.11.09 01:00:58
*.122.242.77

1. fork() 해서 쓰시겠다는 말이죠?? 멀티 ps든 thread든 구조가 간단하면 공유 메모리, 변수 핸들링은 어렵지 않습니다.

2. 위와 같습니다.

3. system() 혹은 execv() 류 함수를 이용하시면 됩니다. security 문제떄문에 system() 함수는 추천하지 않지만, 혼자 shell command를 하나의 pocess에서 구동하고 싶다면 system()으로 충분합니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
6328 네비바 삭제 질문드립니다. 하하호호하하 2015-03-17 241
6327 리눅스에서 인터럽트 트랜스퍼의 폴링인터벌을 조절할 수 있는 방법이... [1] 아라라라기 2015-12-26 245
6326 멀티코어 환경에서 리눅스 IRQ 프로세싱 관련 질문드립니다. [2] Supsupi 2015-03-06 245
6325 임베디드 보드 커널에 UDP 통신 설정이 따로 있는가요? [2] pedor11 2016-10-13 247
6324 리눅스 디버깅 메세지 [1] 하하호호하하 2015-05-14 247
6323 안전모드 진입 [1] 하하호호하하 2021-01-29 248
6322 커널컴파일 하면 모듈이 어디에 들어가게 되나요? [1] DavidKim 2015-07-04 250
6321 arndale-octa board에 ubuntu포팅에 관해 질문드립니다. [4] 감기귤 2015-12-31 250
6320 HDMI 출력관련 문의 [3] 김민욱 2016-11-14 250
6319 브릿지보드 Rx에 라우터 기능추가OK! but 브릿지Tx보드 접속문제? [2] 2016-10-12 253
6318 USB2Serial와 /dev/ttyUXB관련 문의드립니다. [1] 어떤이의꿈 2015-03-12 253
6317 리눅스 yaffs2 포팅 방법 [2] sinwho 2015-08-18 254
6316 크로스 컴파일러 질문입니다. [2] vain 2015-12-30 259
6315 램디스크 늘린 용량을 적용하려면요 file [1] DavidKim 2016-10-18 259
6314 2개 이상의 사운드 출력장치를 가진 시스템의 출력 우선도 설정 [1] 겟페우스 2017-06-27 259
6313 질문만 가끔 드려서 죄송합니다만... [2] 김증일 2018-12-19 260
6312 Uboot에서 nandecc hw,sw에 대해서 [1] sinwho 2016-01-27 261
6311 6410 Sleep Mode 질문 [1] 깜성 2015-12-18 261
6310 usb device 구조 질문 [2] ydgoo9 2017-04-12 261
6309 wi-fi 동글 질문드립니다. [4] 하하호호하하 2016-12-07 262

사용자 로그인