开发者

How can I properly clean unused threads?

I have a client software (on Android) that listens to incoming messages. The messages are received in a while loop that waits for messages to come. When a message is found, it updates the GUI. [Since in Android, GUI can not be updated directly ] A thread is called to do this. My problem is, if there are many messages, results in many threads! And it creates a clumsy situation. My abstract code is,

My_Client()
{
  send_text_function() // My question is not about it
  in_a_thread_Call_receive_from_others_function() [see 1]
}

receiving_funtion() // [this function is mentioned above as (see 1), called in a thread]
{
  while( wai开发者_运维百科ting for new message)
  {
    >>A new message found >> create a thread to update the GUI.  // << Here is my question. see 2
  //android.os.Handler.thread type thread!
  } 
}

label 2: Now this thread is created each time there is a message. How can I just create one thread and keep using it again and again? Any idea?


  1. Create a new Thread.
  2. In the run() method of the Thread create a new Handler.
  3. When you want to do something on the target thread, use the Handler's post() method.

You can create a Handler on the Main thread to post-back operations that update the GUI.

Also consider using AsyncTask<>.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜