Android 在服务中运行多个线程
我正在尝试同时运行线程。我遵循Android开发者网站上的服务指南(http://developer.android.com/guide/topics/fundamentals/services.html) 我稍微修改了代码,使其不再仅仅等待5秒钟,而是每秒记录一条消息 输出为: msg1 msg1 msg1 msg1 msg1 问题是,我不知道如何同时运行其中两个线程,因此输出为: msg1 msg2 msg1 msg2 我一直收到msg1 msg1 msg1 msg1 msg1 msg2 msg2 msg2 msg2 以下是我的onStartCommand()中的代码:Android 在服务中运行多个线程,android,multithreading,service,Android,Multithreading,Service,我正在尝试同时运行线程。我遵循Android开发者网站上的服务指南(http://developer.android.com/guide/topics/fundamentals/services.html) 我稍微修改了代码,使其不再仅仅等待5秒钟,而是每秒记录一条消息 输出为: msg1 msg1 msg1 msg1 msg1 问题是,我不知道如何同时运行其中两个线程,因此输出为: msg1 msg2 msg1 msg2 我一直收到msg1 msg1 msg1 msg1 msg1 msg2 m
这不应该为每个请求创建一个新线程,以便前一个请求不会被阻塞吗?它将创建一个新线程,以将每个请求发送给处理程序,但处理程序的代码将在实例化处理程序的任何线程上执行,而不是在发送消息的线程上执行。处理程序的全部目的是为线程间通信提供一种简单的方法
@Override
public int onStartCommand(Intent intent, int flags, final int startId) {
Log.v("testService","onStartCommand()");
new Thread() {
// This method is called when the thread runs
public void run() {
Message msg = mHandler.obtainMessage();
msg.arg1 = startId;
mHandler.sendMessage(msg);
}
}.start();
return START_STICKY;
}