Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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_Backgroundworker - Fatal编程技术网

Android 将更新的数据发送到后台线程

Android 将更新的数据发送到后台线程,android,multithreading,backgroundworker,Android,Multithreading,Backgroundworker,我有一个后台线程正在向服务器发送有关应用程序当前状态的数据。线程应该不断地(或者至少在状态改变时)发送这些数据 数据来自UI,用户可以随时更改状态(通过在屏幕上移动手指),因此我需要告诉后台线程发送更新的数据 安卓有没有办法做到这一点?我的解决方案是保持线程实例可用,并添加一些方法来允许设置要发送的线程内部数据。但是,我甚至不确定这是否有效(因为线程没有在更新它的命令所来自的主线程上运行)。我以前看过AsyncTask,因为它似乎是后台工作人员的标准解决方案,但我没有看到任何可以将数据推送到该任

我有一个后台线程正在向服务器发送有关应用程序当前状态的数据。线程应该不断地(或者至少在状态改变时)发送这些数据

数据来自UI,用户可以随时更改状态(通过在屏幕上移动手指),因此我需要告诉后台线程发送更新的数据


安卓有没有办法做到这一点?我的解决方案是保持线程实例可用,并添加一些方法来允许设置要发送的线程内部数据。但是,我甚至不确定这是否有效(因为线程没有在更新它的命令所来自的主线程上运行)。我以前看过AsyncTask,因为它似乎是后台工作人员的标准解决方案,但我没有看到任何可以将数据推送到该任务中的东西(它只向UI线程报告数据/进度)。

后台工作人员不能每隔几毫秒检查一次线程安全的数据结构吗?主线程只是填充它,后台工作程序用它做它想做的事情

或者只使用由信号量包围的静态变量。虽然很难看,但它会起作用