Hoi,
Ik wil twee threads laten lopen (bovenop de main-thread, dus eigenlijk 3) maar dan die 2 extra threads wel voor een maximale tijd.
Nou dacht ik dat op te lossen door de threads te joinen met de parameter timeout zoals dit:
dit heeft volgens mij als probleem dat als allebei de threads langer duren dan 30 seconden, je niet 30 seconden wacht maar 60 seconden. Hoe los ik dit goed op?
Ik wil twee threads laten lopen (bovenop de main-thread, dus eigenlijk 3) maar dan die 2 extra threads wel voor een maximale tijd.
Nou dacht ik dat op te lossen door de threads te joinen met de parameter timeout zoals dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| // create two threads and start them
List<MyThread> threads = new List<MyThread>();
foreach(MyPath path in paths)
{
// thread is started within constructor of MyThread.
MyThread thread = new MyThread(path);
threads.Add(thread);
}
..
.. do other stuff in mainthread while two MyThreads are also running
..
.
timeout = 30000; // wait max 30 seconds
foreach (MyThread thread in threads)
{
thread.Thread.Join(timeout);
} |
dit heeft volgens mij als probleem dat als allebei de threads langer duren dan 30 seconden, je niet 30 seconden wacht maar 60 seconden. Hoe los ik dit goed op?