저는 C에서 상당히 새롭지 만 작은 다중 스레드 응용 프로그램을 작성합니다. 스레드에 지연을 도입하려고합니다. 나는 'usleep'을 사용하고 있었고 그 행동은 내가 원했던 것이지만 C99에서 경고를 생성합니다. 기능 'usleep'현대 POSIX 환경에서 usleep 외에도 사용할 수있는 항목은 무엇입니까?
그것은 단지 경고하지만 그것은 나를 귀찮게의
암시 적 선언. 나는 인터넷 검색에 대한 답변을 찾았지만, CPU 집중적 인 것처럼 보이는 while-loop/timer 방식을 사용했습니다.
편집 :
#include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <unistd.h> #include <time.h>
그리고 함께 컴파일러를 호출하고 있습니다 :
내 포함은
c99 program.c -Wall -pedantic -W -lpthread
편집 # 2 : 제작 한
0을 포함하는 새 파일그리고 여전히 경고가 표시됩니다.
EDIT # 3 : 제안 된대로 질문의 텍스트를 업데이트했습니다. 기능 'usleep'의
귀하의 질문은 C99와 관련이 없습니다. 그러한 것들은 정의의 범위를 벗어난다. 아마도 "POSIX"로 대체하여 제목을 바꿀 수 있습니까? –
스레드 동기화를 위해 잠자기를 사용하면 물고기가 냄새가납니다. 아마도 어떤 종류의 뮤텍스 나 신호를 사용하고 싶습니까? – eyalm
@eyaim - 뮤텍스와 pthreads 라이브러리를 사용하고 있습니다. 나는 usleep을 사용하여 생성 된 출력을 느리게 만들려고 했으므로 'quazi'실시간으로 나타납니다. –