Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #16761 > unrolled thread
| Started by | "Dirk Bruere at NeoPax" <dirk.bruere.at.neopax@1:261/38.remove-dpk-this> |
|---|---|
| First post | 2012-07-31 18:02 +0000 |
| Last post | 2012-08-03 10:07 -0700 |
| Articles | 6 — 5 participants |
Back to article view | Back to comp.lang.java.programmer
Accessing a thread "Dirk Bruere at NeoPax" <dirk.bruere.at.neopax@1:261/38.remove-dpk-this> - 2012-07-31 18:02 +0000
Re: Accessing a thread "Eric Sosman" <eric.sosman@1:261/38.remove-dpk-this> - 2012-07-31 18:02 +0000
Re: Accessing a thread "Dirk Bruere at NeoPax" <dirk.bruere.at.neopax@1:261/38.remove-dpk-this> - 2012-07-31 18:02 +0000
Re: Accessing a thread "Roedy Green" <roedy.green@1:261/38.remove-x1c-this> - 2012-07-31 20:07 +0000
Re: Accessing a thread Dirk Bruere at NeoPax <dirk.bruere@gmail.com> - 2012-08-03 16:52 +0100
Re: Accessing a thread markspace <-@.> - 2012-08-03 10:07 -0700
| From | "Dirk Bruere at NeoPax" <dirk.bruere.at.neopax@1:261/38.remove-dpk-this> |
|---|---|
| Date | 2012-07-31 18:02 +0000 |
| Subject | Accessing a thread |
| Message-ID | <50181D60.55729.calajapr@time.synchro.net> |
From: "Dirk Bruere at NeoPax" <dirk.bruere.at.neopax@1:261/38.remove-rf4-this>
From: Dirk Bruere at NeoPax <dirk.bruere@gmail.com>
File1
public class controller extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final LanSendThread lanSendThread = new LanSendThread();
lanSendThread.start();
...}
__________
File2
public class LanSendThread extends Thread{
public static Handler lanSendHandler;
@Override
public void run(){
Looper.prepare();
lanSendHandler = new Handler() {
//stuff}
___________
How do I access the thread lanSendThread from another class in another file?
--
Dirk
Full Spectrum Praxis : ZERO STATE : http://zerostate.net
-+- BBBS/Li6 v4.10 Dada-1
+ Origin: Prism bbs (1:261/38)
-+- Synchronet 3.16a-Win32 NewsLink 1.98
Time Warp of the Future BBS - telnet://time.synchro.net:24
--- BBBS/Li6 v4.10 Dada-1
* Origin: Prism bbs (1:261/38)
--- Synchronet 3.16a-Win32 NewsLink 1.98
Time Warp of the Future BBS - telnet://time.synchro.net:24
[toc] | [next] | [standalone]
| From | "Eric Sosman" <eric.sosman@1:261/38.remove-dpk-this> |
|---|---|
| Date | 2012-07-31 18:02 +0000 |
| Message-ID | <50181D60.55735.calajapr@time.synchro.net> |
| In reply to | #16761 |
To: Dirk Bruere at NeoPax
From: "Eric Sosman" <eric.sosman@1:261/38.remove-rf4-this>
To: Dirk Bruere at NeoPax
From: Eric Sosman <esosman@ieee-dot-org.invalid>
On 7/30/2012 5:54 AM, Dirk Bruere at NeoPax wrote:
> File1
>
> public class controller extends Activity {
>
>
> /** Called when the activity is first created. */
> @Override
> public void onCreate(Bundle savedInstanceState) {
> super.onCreate(savedInstanceState);
> setContentView(R.layout.main);
>
> final LanSendThread lanSendThread = new LanSendThread();
> lanSendThread.start();
> ...}
>
> __________
>
> File2
>
> public class LanSendThread extends Thread{
> public static Handler lanSendHandler;
>
> @Override
> public void run(){
> Looper.prepare();
>
> lanSendHandler = new Handler() {
> //stuff}
>
> ___________
>
> How do I access the thread lanSendThread from another class in another
> file?
The same way you'd access it if it were an ArrayList or
a JButton or a File: You save the reference somewhere and dish it out to
interested parties. There must be two or three jillion ways to do this; a few
of them are
- Make `lanSendThread' a public member of the controller
class (poor choice of name, by the way). You may or may
not want to make that member `final'.
- Make `lanSendThread' a private member of the controller
class, and write a public getThread() method to return it.
- Stash the value of `lanSendThread' in a Map or other data
structure, and "publicize" the data structure and/or
accessors for it.
--
Eric Sosman
esosman@ieee-dot-org.invalid
-+- BBBS/Li6 v4.10 Dada-1
+ Origin: Prism bbs (1:261/38)
-+- Synchronet 3.16a-Win32 NewsLink 1.98
Time Warp of the Future BBS - telnet://time.synchro.net:24
--- BBBS/Li6 v4.10 Dada-1
* Origin: Prism bbs (1:261/38)
--- Synchronet 3.16a-Win32 NewsLink 1.98
Time Warp of the Future BBS - telnet://time.synchro.net:24
[toc] | [prev] | [next] | [standalone]
| From | "Dirk Bruere at NeoPax" <dirk.bruere.at.neopax@1:261/38.remove-dpk-this> |
|---|---|
| Date | 2012-07-31 18:02 +0000 |
| Message-ID | <50181D62.55747.calajapr@time.synchro.net> |
| In reply to | #16767 |
To: Eric Sosman
From: Dirk Bruere at NeoPax <dirk.bruere@gmail.com>
On 30/07/2012 20:00, Eric Sosman wrote:
> To: Dirk Bruere at NeoPax
> From: Eric Sosman<esosman@ieee-dot-org.invalid>
>
> On 7/30/2012 5:54 AM, Dirk Bruere at NeoPax wrote:
>> File1
>>
>> public class controller extends Activity {
>>
>>
>> /** Called when the activity is first created. */
>> @Override
>> public void onCreate(Bundle savedInstanceState) {
>> super.onCreate(savedInstanceState);
>> setContentView(R.layout.main);
>>
>> final LanSendThread lanSendThread = new LanSendThread();
>> lanSendThread.start();
>> ...}
>>
>> __________
>>
>> File2
>>
>> public class LanSendThread extends Thread{
>> public static Handler lanSendHandler;
>>
>> @Override
>> public void run(){
>> Looper.prepare();
>>
>> lanSendHandler = new Handler() {
>> //stuff}
>>
>> ___________
>>
>> How do I access the thread lanSendThread from another class in another
>> file?
>
> The same way you'd access it if it were an ArrayList or
> a JButton or a File: You save the reference somewhere and dish it out to
> interested parties. There must be two or three jillion ways to do this; a
few
> of them are
>
> - Make `lanSendThread' a public member of the controller
> class (poor choice of name, by the way). You may or may
> not want to make that member `final'.
>
> - Make `lanSendThread' a private member of the controller
> class, and write a public getThread() method to return it.
>
> - Stash the value of `lanSendThread' in a Map or other data
> structure, and "publicize" the data structure and/or
> accessors for it.
>
> --
> Eric Sosman
> esosman@ieee-dot-org.invalid
>
> --- BBBS/Li6 v4.10 Dada-1
> * Origin: Prism bbs (1:261/38)
> --- Synchronet 3.16a-Win32 NewsLink 1.98
> Time Warp of the Future BBS - telnet://time.synchro.net:24
Thanks. It's obvious now!
--
Dirk
Full Spectrum Praxis : ZERO STATE : http://zerostate.net
--- BBBS/Li6 v4.10 Dada-1
* Origin: Prism bbs (1:261/38)
--- Synchronet 3.16a-Win32 NewsLink 1.98
Time Warp of the Future BBS - telnet://time.synchro.net:24
[toc] | [prev] | [next] | [standalone]
| From | "Roedy Green" <roedy.green@1:261/38.remove-x1c-this> |
|---|---|
| Date | 2012-07-31 20:07 +0000 |
| Message-ID | <50182C82.55850.calajapr@time.synchro.net> |
| In reply to | #16761 |
To: Dirk Bruere at NeoPax From: "Roedy Green" <roedy.green@1:261/38.remove-dpk-this> To: Dirk Bruere at NeoPax From: Roedy Green <see_website@mindprod.com.invalid> On Mon, 30 Jul 2012 10:54:25 +0100, Dirk Bruere at NeoPax <dirk.bruere@gmail.com> wrote, quoted or indirectly quoted someone who said : >How do I access the thread lanSendThread from another class in another file? // execute InParallel.run() // in parallel to this thread on a new thread. Thread t = new Thread ( new InParallel() ); // Note we call t.start(), not t.run() // t.run() would just call run in the ordinary way. // Get reference to the thread running this // code right now. Thread runningNow = Thread.currentThread(); Keep in mind a thread is busy running its own code. Pretty well anything you run on that thread is going to be highly disruptive. -- Roedy Green Canadian Mind Products http://mindprod.com The greatest shortcoming of the human race is our inability to understand the exponential function. ~ Dr. Albert A. Bartlett (born: 1923-03-21 age: 89) http://www.youtube.com/watch?v=F-QA2rkpBSY -+- BBBS/Li6 v4.10 Dada-1 + Origin: Prism bbs (1:261/38) -+- Synchronet 3.16a-Win32 NewsLink 1.98 Time Warp of the Future BBS - telnet://time.synchro.net:24 --- BBBS/Li6 v4.10 Dada-1 * Origin: Prism bbs (1:261/38) --- Synchronet 3.16a-Win32 NewsLink 1.98 Time Warp of the Future BBS - telnet://time.synchro.net:24
[toc] | [prev] | [next] | [standalone]
| From | Dirk Bruere at NeoPax <dirk.bruere@gmail.com> |
|---|---|
| Date | 2012-08-03 16:52 +0100 |
| Message-ID | <a82ae4F5osU1@mid.individual.net> |
| In reply to | #16882 |
On 31/07/2012 21:07, Roedy Green wrote: > To: Dirk Bruere at NeoPax > From: "Roedy Green"<roedy.green@1:261/38.remove-dpk-this> > > To: Dirk Bruere at NeoPax > From: Roedy Green<see_website@mindprod.com.invalid> > > On Mon, 30 Jul 2012 10:54:25 +0100, Dirk Bruere at NeoPax > <dirk.bruere@gmail.com> wrote, quoted or indirectly quoted someone who > said : > >> How do I access the thread lanSendThread from another class in another file? > > > // execute InParallel.run() > // in parallel to this thread on a new thread. > Thread t = new Thread ( new InParallel() ); > > // Note we call t.start(), not t.run() > // t.run() would just call run in the ordinary way. > > // Get reference to the thread running this > // code right now. > Thread runningNow = Thread.currentThread(); I still don't see how this solves my problem. In "main" (controller) I have: public static Thread txToLanThreadRef; TxToLanThread txToLanThread = new TxToLanThread(); txToLanThread.start(); txToLanThreadRef = txToLanThread.runningNow; However, when I try to access it elsewhere, this does not work controller.txToLanThreadRef. I need to access the handler in the thread so I can send it a message -- Dirk Full Spectrum Praxis : ZERO STATE : http://zerostate.net
[toc] | [prev] | [next] | [standalone]
| From | markspace <-@.> |
|---|---|
| Date | 2012-08-03 10:07 -0700 |
| Message-ID | <jvh0gf$l27$1@dont-email.me> |
| In reply to | #17037 |
On 8/3/2012 8:52 AM, Dirk Bruere at NeoPax wrote: > public static Thread txToLanThreadRef; Static variables like this are not considered best practice. Consider some alternatives, including factories, a context object, or some sort of generic message system. > However, when I try to access it elsewhere, this does not work > > controller.txToLanThreadRef. "Does not work" is a little unspecific. What error/problem do you get? Can you make a short, complete, compilable example that duplicates the problem? It should work, must work, even, according to the Java programming language. If there's an issue, it must be with the way you are using it. Please show us.
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.java.programmer
csiph-web