|
답변 감사합니다.
각 프로그램에서 쓰레드들이 돌면서(많을땐 50개 이상) 엑세스하도록 되있어요....
꼴(이성렬) 님이 쓰신 글 :
: 뮤텍스를 사용하는건 님이 사용하는 방법이 맞는거 같습니다.
: p에 A,B프로그램에서 같이 사용하는 뮤텍스 이름이 들어있는거겠죠??
: 반드시 같은 이름이어야 하고요.
:
: 하지만 님이 원하는 서로 사용하지 않는 경우에만 파일을 사용한다면..
: 굳이 뮤텍스 같은 방법은 사용할 필요가 없을듯 한데요.
: 원래 뮤텍스는 쓰레드간의 제어를 위해 만들어진 것이니까요.
:
: 단지 화일 공유 목적이라면
: 파일 오픈할때 Shared옵션을 조정해서 사용하면
: 한쪽에서 사용하는동안 다른 프로그램에서 오픈할 수 없게 할 수 있으니까
: 같은 효과를 낼수 있을거 같습니다.
:
: 그럼.. 즐프하시길.. ^^
:
:
: 문정원 님이 쓰신 글 :
: : 특정위치에 있는 파일을 공유하여 엑세스할때
: : const char p[] = "c:\\test.txt";(공유파일)
: :
: : A, B 라는 프로그램에서 아래 코드처럼 사용하면 서로 공유파일에 접근하여
: : 수정,삭제등이 가능한지요 (서로 사용안할때 사용)..
: : 뮤텍스는 잘 몰라서.. 부탁합니다.
: : ====================================================================
: : HANDLE Mutex;
: : if((Mutex = OpenMutex(MUTEX_ALL_ACCESS, false, p)) == NULL)
: : {
: : Mutex = CreateMutex(NULL, true, p);
: : }
: : else
: : {
: : WaitForSingleObject(Mutex, INFINITE);
: : }
: :
: : FILE *fp = fopen(p, "rb");
: : ...
: : fclose(fp);
: :
: : ReleaseMutex(Mutex);
: : ======================================================================
: :
|