Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.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
Java 在已存在且正在运行的线程中运行我的代码_Java_Android_Multithreading - Fatal编程技术网

Java 在已存在且正在运行的线程中运行我的代码

Java 在已存在且正在运行的线程中运行我的代码,java,android,multithreading,Java,Android,Multithreading,我正在使用第三方绘图来查看一些东西 我得到了进程线程列表,我找到了他们用来绘制内容的线程 我想在这个线程中添加我的绘图代码——这意味着当他们在线程中完成绘图时,我的代码将运行,然后线程将结束(或者不管发生什么) 我尝试在不同的线程和UI线程中绘制代码,但当我们更改相机位置时,我可以看到我的绘图在第三方之后运行 是否可以将一些代码注入另一个线程?顺便说一句,我手上只有他们的线程对象,这是我在运行所有线程列表时得到的。 如果没有,其他解决方案也可以(如果有) --编辑-- 试图挂起他们的线程,画我的

我正在使用第三方绘图来查看一些东西

我得到了进程线程列表,我找到了他们用来绘制内容的线程

我想在这个线程中添加我的绘图代码——这意味着当他们在线程中完成绘图时,我的代码将运行,然后线程将结束(或者不管发生什么)

我尝试在不同的线程和UI线程中绘制代码,但当我们更改相机位置时,我可以看到我的绘图在第三方之后运行

是否可以将一些代码注入另一个线程?顺便说一句,我手上只有他们的线程对象,这是我在运行所有线程列表时得到的。 如果没有,其他解决方案也可以(如果有)

--编辑--


试图
挂起他们的线程,画我的东西,然后
恢复
,但是它崩溃了-猜测是因为这些都是弃用的函数

纯粹是理论上的东西:

检查它们是否支持绘图到backbuffer(非屏幕)--或者--尝试将绘图重定向到backbuffer(帧缓冲区)。也在backbuffer中绘制。手动将backbuffer(实际上是back帧缓冲区)与front帧缓冲区切换


他们很可能是在循环作画。onDraw可能是事件触发的,或者它只是尝试提供尽可能多的fps。但是,如果同步对backbuffer的访问,则可能会强制其绘制线程完全等待您进行绘制和交换缓冲区的时间。您首先需要将您的过程与他们的过程同步(可能是通过痛苦地测试代码是否能够不时运行,并且图形是否被阻止)。您必须记住,如果这样做有效,那么同步将意味着他们的线程将在使用backbuffer的第一个操作时,在N-1循环的末尾等待N-1循环

他们的线程是否使用接口通知任何事情?否。。没有什么。他们只希望开发人员使用他们的图形对象(他们将控制图形)。但是,对于我的自定义绘图来说,对象集不够好。第三方是什么?esri-这是一个gis基础设施。我认为它们应该提供一个接口或一些东西供您使用