Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android计时器任务线程安全_Android_Multithreading - Fatal编程技术网

Android计时器任务线程安全

Android计时器任务线程安全,android,multithreading,Android,Multithreading,我有一个启动新线程的类,它们使用处理程序在ui线程中编写数组,它们是线程安全的 如果我从计时器任务启动这些线程,它们在ui thred中是否仍然是线程安全的 谢谢大家! 如果处理程序对象绑定到UI线程,则可以安全地更新处理程序中的数组(假设数组也绑定到UI线程) 检查以下各项,尤其是本部分: 处理程序允许您发送和处理与线程MessageQueue关联的消息和可运行对象。每个处理程序实例都与一个线程和该线程的消息队列相关联。当您创建一个新的处理程序时,它被绑定到正在创建它的线程的线程/消息队列——

我有一个启动新线程的类,它们使用处理程序在ui线程中编写数组,它们是线程安全的

如果我从计时器任务启动这些线程,它们在ui thred中是否仍然是线程安全的


谢谢大家!

如果
处理程序
对象绑定到UI线程,则可以安全地更新
处理程序
中的数组(假设数组也绑定到UI线程)

检查以下各项,尤其是本部分:

处理程序允许您发送和处理与线程MessageQueue关联的消息和可运行对象。每个处理程序实例都与一个线程和该线程的消息队列相关联。当您创建一个新的处理程序时,它被绑定到正在创建它的线程的线程/消息队列——从那时起,它将向该消息队列传递消息和可运行文件,并在它们从消息队列中出来时执行它们

处理程序有两个主要用途:(1)将消息和可运行文件安排为将来某个时间点执行;和(2)将要在不同线程上执行的操作排队


它表示
处理程序
代码是在它所属的线程上执行的。

如果您运行的线程是正确的线程安全的,那么无论从何处启动它们都无关紧要,无论是UI线程、
异步任务
还是
TimerTask

,谢谢您的解释!