/usr/local/pgi/linux86-64/13.10/include/CC/fstream.h에있는 내 fstream.h 파일에는 뮤텍스 잠금에 대한 언급이 없습니다. 또한 프로그램에서 나는 동일한 시간에 쓰여질 경우 문자열 스트림 파일에 대한 연산자가 < < 인 인터리브가 될 수있는 출력을 작성했습니다.
동일한 파일을 읽고 쓰고 있기 때문에 선 순서가 중요하다고 생각합니까? 이와 같이, 나는 스레드들 사이에 전역 mutex 잠금을 원한다고 생각합니다.
같은 뭔가 :
#include ....
pthread_mutex_t FileMutex = PTHREAD_MUTEX_INITIALIZER;
std::stringstream strm(std::stringstream::binary|...)
int main()
{
blah blah
pthread_create(&threads, NULL, function, voidPtrToArguments);
blah blah
}
void *function(void *voidPtrToArguments)
{
blah blah some more
pthread_mutex_lock(&FileMutex);
strm.write(...);
pthread_mutex_unlock(&FileMutex);
}
과 기능을 읽기 위해 다음 같은.
'std :: stringstream'의 소스에 뮤텍스 또는 아톰이 있습니까? – woolstar
'std :: stringstream'의 특정 구현에 관심이 없습니다. 나는 표준의 규격에 관심이있다. – nature1729
"표준 호환"stdC++ 라이브러리에 스레드 안전성을위한 뮤텍스 또는 기타 메커니즘이 없으면 표준에 필요하지 않은 높은 가능성이 있습니다. – woolstar