concurrency, threads and objects
- From: Tom Forsmo <spam@xxxxxxxxxx>
- Date: Wed, 15 Nov 2006 12:50:21 +0100
Hi
I have recently done some thread programming in java, my previous experience is from posix threads in C. There is one thing that puzzles me about thread programming in java.
In C there are no function instances (as in objects or similar things), only function invocations. When programming threads in C there is one function and several threads with its separate function invocations.
In java you can either create an object and have a number of threads execute its run() method or you can create one object per thread.
What puzzles me is that in a way both ways seems slightly wrong.
Creating a number of objects with a thread for each is sort of like creating many separate programs/processes, it seems like waste of objects to start with. Why create as many objects as you would create threads?
Creating only one object and creating a number of threads for that objects run method, also seems wrong, for two reasons. 1) the object could then not have any state unless it was to be shared and 2) when reading the name of the thread all threads are named the same.
I understand that it would be normal to create other objects and execute their methods run(), which would then effectively create a function/method invocation and it all aligns well with my previous perception. But the startup part of it seems a bit strange to me.
Anyone care to help me push my perception into alignment again.
tom
.
- Follow-Ups:
- Re: concurrency, threads and objects
- From: Robert Klemme
- Re: concurrency, threads and objects
- From: bugbear
- Re: concurrency, threads and objects
- From: Chris Uppal
- Re: concurrency, threads and objects
- Prev by Date: Re: java result set
- Next by Date: Re: Design question - implentation and composition
- Previous by thread: certification
- Next by thread: Re: concurrency, threads and objects
- Index(es):
Relevant Pages
|