나는 사용자 수준의 스레드 시스템을 구현했습니다. 이진 세마포어 구현 (아래 설명 된대로 위 및 아래 기능)을 사용하여 카운팅 세마포어 구현에 도움이 필요합니다. 여기 이진 세마포어의 내 구현의 인터페이스입니다 : typedef enum BinSemStatus{
locked,
unlocked
} BinSemStatus;
struct
pthread를 사용하여 에볼라 시뮬레이션을 수행하려고합니다. 모든 것은 세마포 부분까지 잘 작동했습니다. 코드를 컴파일하는 동안이 오류를 받고 있어요 : *** Error in `./ebola_serial': double free or corruption (out): 0x00007f49700008c0 ***
*** Error in `=======
P3, P1, P2 순으로 프로그램을 실행해야하는 상위 프로세스를 포함한 3 개의 프로세스가 있다고 가정 해 봅시다. 프로세스 P3에서 계산을 시작할 수있는 방법을 알려주십시오. 나는 {0,1,2,3,4,5 .. 최대} 내 코드의 스냅 샷입니다 참고로 로 아웃해야합니다 - #define SEM_NAME "//test.mutex"
//#define SEM_