2013-08-15 5 views
1

Gwan 문서에 따르면 BSD 소켓을 사용하는 C 스크립트는 비동기 적으로 투명하게 관리됩니다.gwan은 비동기 작업을 어떻게 구현합니까?

어떻게하면 C 스크립트에서 사용하는 코드/라이브러리가 네트워크 작업을 수행 할 때 비동기 적으로 작동하는지 확인할 수 있습니까? 예 : 로그에서이를 확인할 수있는 방법이 있습니까?

디스크 IO를 수행 할 때 비슷한 요청이있었습니다. 예를 들어, imgsz.c 예제는 ImageMagick .MagickReadImage() 함수를 통해 디스크에서 이미지를 읽습니다. 이 디스크 읽기 작업이 비동기 적으로 관리됩니까? 또는 imgsz.c 예를 다시 작성해야합니다 (예 : xbuf_frfile()와 MagickReadImageBlob()? 당신의 도움

답변

0

에 미리

덕분에 내가 어떻게 확인이 주어진 코드/라이브러리를 만들 수 있습니다. ..

G-WAN은 당신의 코드에 의해 호출되는 기능을 제공하므로 공유 라이브러리 (또는 G-WAN C/C++, D 및 목표 - C 스크립트)에 대한 정상적인 방법으로이 기능을 우회 할 수 없다 G-WAN에 의해 ​​활성화 될 때

Java 및 C#은 가상 컴퓨터 (G-WAN 프로세스의 범위를 벗어남)를 사용하기 때문에이 기능을 무시할 수 있습니다.

디스크 I/O 불행하게도

을 수행 할 때 나는 비슷한 요청을 할 것이다,는 epoll (이것은 파이프와 소켓을 지원) 디스크 파일을 여는 데 사용되는 파일 기술자를 지원하지 않습니다.

디스크 대기 시간이 문제가되면 RAM 디스크 (또는 사용 가능한 RAM보다 훨씬 많은 공간이 필요할 경우 SSD)를 사용하십시오.

+0

디스크 I/O에 대해 설명하는 제한은 g-wan 자체 (예 : 정적 파일 제공)에 적용되거나 C 스크립트 내에서 파일에 액세스하기위한 것입니까? – ehubin

+0

이것은 G-WAN 및 그 스크립트를위한 (시스템) epoll 제한 사항입니다. 다른 메커니즘을 사용하면 파일 IO를 비동기 적으로 만들 수 있지만 G-WAN 같은 서버는 병목 현상이 네트워크 IO (파일 IO가 아닌)이므로 중요하지 않습니다. – Gil

관련 문제