Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Java (http://www.velocityreviews.com/forums/f30-java.html)
-   -   Accessing a thread (http://www.velocityreviews.com/forums/t948781-accessing-a-thread.html)

Dirk Bruere at NeoPax 07-30-2012 07:00 PM

Accessing a thread
 
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

Eric Sosman 07-30-2012 07:00 PM

Re: Accessing a thread
 
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

Dirk Bruere at NeoPax 07-30-2012 10:53 PM

Re: Accessing a thread
 
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

Roedy Green 07-31-2012 06:02 PM

Re: Accessing a thread
 
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


All times are GMT. The time now is 11:03 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.