Home » U++ Library support » U++ MT-multithreading and servers » Use same variable in different threads
Re: Use same variable in different threads [message #30172 is a reply to message #30167] |
Mon, 13 December 2010 11:35 |
|
koldo wrote on Mon, 13 December 2010 00:16 | Hello all
Nice answers !
For now if I understand well I will use:
- AtomicVar class. Nice!
- Mutex as here:
struct mySharedData {
int a, b;
String c;
Mutex m;
};
mySharedData data;
void ThreadFunction(){
for(int i = 0; i < 10; i++){
Thread::Sleep(Random(10)); // Pretend some work...
data.m.Enter(); // Enter the section that accesses the shared data
data.a = i;
data.c << data.a << "\n";
Thread::Sleep(20); //Let's pretend that some slow operation happens here (for example file access)
data.b = data.a;
data.m.Leave(); // we don't need the exclusive access to data anymore, release the mutex
}
}
|
But what about read control?
Example:
read data.a
write data.a and data.b
read data.b (b will be modified)
In this case I think:
1. the write look need to wait until the all reads was finished. and every read locks need to wait until the write lock was finished.
2. Or reads and writes will use only one lock (data.m). But in this case will not possible multiple parallel reads.
Later I will try to provide a simple example.
[Updated on: Mon, 13 December 2010 20:21] Report message to a moderator
|
|
|
|
|
Use same variable in different threads
By: koldo on Thu, 09 December 2010 18:26
|
|
|
Re: Use same variable in different threads
|
|
|
Re: Use same variable in different threads
By: koldo on Thu, 09 December 2010 22:04
|
|
|
Re: Use same variable in different threads
By: Didier on Fri, 10 December 2010 00:26
|
|
|
Re: Use same variable in different threads
|
|
|
Re: Use same variable in different threads
By: koldo on Fri, 10 December 2010 10:01
|
|
|
Re: Use same variable in different threads
|
|
|
Re: Use same variable in different threads
By: koldo on Fri, 10 December 2010 13:19
|
|
|
Re: Use same variable in different threads
|
|
|
Re: Use same variable in different threads
|
|
|
Re: Use same variable in different threads
|
|
|
Re: Use same variable in different threads
By: Didier on Fri, 10 December 2010 18:50
|
|
|
Re: Use same variable in different threads
|
|
|
Re: Use same variable in different threads
By: Didier on Sat, 11 December 2010 23:13
|
|
|
Re: Use same variable in different threads
|
|
|
Re: Use same variable in different threads
By: mirek on Sun, 12 December 2010 09:43
|
|
|
Re: Use same variable in different threads
By: koldo on Sun, 12 December 2010 23:16
|
|
|
Re: Use same variable in different threads
By: tojocky on Mon, 13 December 2010 11:35
|
|
|
Re: Use same variable in different threads
|
|
|
Re: Use same variable in different threads
By: Didier on Mon, 13 December 2010 22:48
|
|
|
Re: Use same variable in different threads
By: koldo on Tue, 14 December 2010 09:02
|
|
|
Re: Use same variable in different threads
By: mirek on Sat, 25 December 2010 20:45
|
|
|
Re: Use same variable in different threads
By: tojocky on Sun, 02 January 2011 15:35
|
|
|
Re: Use same variable in different threads
By: mirek on Sun, 02 January 2011 18:38
|
|
|
Re: Use same variable in different threads
By: koldo on Sun, 02 January 2011 19:06
|
|
|
Re: Use same variable in different threads
By: mirek on Sun, 02 January 2011 22:56
|
|
|
Re: Use same variable in different threads
By: koldo on Mon, 03 January 2011 09:17
|
|
|
Re: Use same variable in different threads
By: koldo on Sun, 02 January 2011 01:12
|
|
|
Re: Use same variable in different threads
|
|
|
Re: Use same variable in different threads
By: Didier on Sun, 02 January 2011 12:18
|
|
|
Re: Use same variable in different threads
|
Goto Forum:
Current Time: Thu May 09 18:07:20 CEST 2024
Total time taken to generate the page: 0.02062 seconds
|