0
원격 파일 ifstream
에서 로컬 파일 ofstream
으로 데이터를 복사하는 Visual Studio 2008 C++ 응용 프로그램이 있습니다. 전송 코드는 다음과 기본적으로 같습니다전송 데이터를 UI에보고합니다.
void MyTransferThread()
{
std::ofstream local_file(/*...*/);
std::ifstream remote_file(/*...*/);
// an arbitrary block size
const size_t buffer_size = 4096;
char buffer[ buffer_size ];
while(remote_file)
{
remote_file.read(buffer, buffer_size);
int read = remote_file.gcount();
local_file.write(buffer, read);
}
}
전송 속도에 미치는 영향을 최소화하면서 별도의 UI 스레드에 (두 번째 바이트 /) 전송의 현재 속도를보고 할 수있는 가장 좋은 방법은 무엇입니까?
내가 초당 그려 다각형 믿는다 어디 내 현재 응용 프로그램에서와 동일한 기능을 수행 할 것
처리량을 계산하는 방법에 대해 실제로 말하는 것은 아닙니다. 일단 계산 된보고 방법을 찾고 있습니다. 예를 들어 휘발성 멤버 변수에 현재 처리량을 저장하고 다른 스레드가 PostMessage를 사용하여이를 UI에보고하거나 스레드가 호출하는 콜백 함수를 등록하도록 UI를 쿼리하는 것이 좋습니다. – PaulH