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

[리눅스], 하나의 프로그램에서 , 녹음과 음악 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

이솦보드 palette세팅중 3번째 질문(kelp에서 kozicozi님의 질문... [4]

커널패닉 - 묵혀놓은 보드 꺼내들고 집에 셋팅하는데 잘 안되네요... [10]

RVDS 2.2 설치 [6]

exynos 5250 Arndale board의 Generic Timer 사용에 대해 질문... [5]

linaro ubuntu 사용중입니다

그래픽 카드 혹은 컨트롤러 드라이버 개발 How-to [2]

NAND bad sector가 새로 발생했을 때… [1]

[질문] u-boot 및 루트 파일 시스템 <= 완료 [4]

exynos5250 질문이여. [7]

  • 해황
  • 2012-12-06
  • 조회 수 6141

wifi 에러 문제관련하여 질문드립니다. [1]

풀업/풀다운 저항값은 왜 다른가요? [6]

S5PC111과 S5PC110의 차이점은 무엇인가요 [2]

  • Nabula
  • 2010-07-24
  • 조회 수 5999

ODROID FROYU 업그레이드 문의 드립니다. [1]

[질문] LX-800 과 ARM의 차이...[완료] [8]

[질문] LX800 을 처음 사용하기 위한 초기 준비 및 비용은?[완료... [6]

Wifi 관련 문의드립니다. [3]

  • Tommy
  • 2010-07-24
  • 조회 수 5483

S3C6410의 장단점에 대해... [10]

MP2530에 OpenOCD와 FT2232를 이용해 JTAG 연결중 [4]

[Android] play 스토어 설치 관련 [2]

DNW 관련 ... [1]

사용자 로그인