On Nov 7, 4:28 pm, BGB <cr88...@hotmail.com> wrote:
On 11/7/2011 9:47 AM, Victor Bazarov wrote:
Of course, global variable is bad idea if you choose to use thread.
If two or more threads are running at the same time while accessing
one global variable directly, why not create backup variable?
// global scope
char* pBuffer = 0;
void foo()
{
char* pTemp = pBuffer;
// do algorithm on second thread
pBuffer = pThread_Buffer2;
// do algorithm on third thread
pBuffer = pThread_Buffer3;
// do algorithm on fourth thread
pBuffer = pThread_Buffer4;
// restore buffer pointer prior exiting function
pBuffer = pTemp;
}
If I understand correctly, you want to create four threads and you
will need to create one copy of buffer to each thread. All threads
cannot share the same one buffer directly. Buffer class is a good
idea.
#this is io_x
#yes that it is possible
#but in windows it is possible too
#many tread have in common one buffer
#provide that each thread has one lock on write-read on that buffer
#if i remember well. but i'm not sure of that or for the follow:
#the same for one file
#many thread can have in common one file if it is right lock
#on write or on read to each thread...