问题标签 [runnable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 隐式转换为 Runnable?
作为练习,我尝试创建一个隐式转换,它可以接受一个函数并生成一个Runnable
. 这样,您可以调用接受Runnable
对象的 Java 方法并像闭包一样使用它们。
隐式转换很容易:
但是我不知道怎么称呼它。如何传入一个返回 Unit 的无参数函数,而不立即对其进行评估?例如,我希望以下内容打印“12”,但它打印“21”,因为print("2")
它是一次评估的。
我如何告诉编译器将其print("2")
视为函数的主体,而不是立即评估的东西?我尝试了一些可能性,例如
或者
不是合法的语法。
java - 更新 JProgressBar
我无法更新我的进度条...这是我的代码
进度条状态仅在线程结束时更新。有人能帮我吗??
android - 在 Android 中为游戏算法创建骨架
我在以下方面需要一些帮助:
- 我有以下课程:
公共类游戏扩展活动{...
...}
我的问题是:
- 我在哪里以及如何创建我的视图(我是否使用另一个扩展视图的类......)
- 我在哪里以及如何实现 Runnable 接口,以便能够使用线程。
- 我在哪里以及如何连接所有三个(Activity、View、Run() 方法)
任何帮助表示赞赏。
android - 来自extends Activity的Run方法扩展了Runnable
我正在尝试从正在运行的 Runnable 内部调用一个方法。它等待输入字符串,然后根据字符串(字符串充当命令)调用方法并运行其中的内容。
android - 使用 aSyncTask 优化位图加载
我一直在尝试优化我的单线程应用程序,它加载了一堆构成大位图的图块。当应用程序将新图块加载到系统内存中时,它变得非常缓慢。我现在正在尝试为此目的使用异步任务。该应用程序在 onDraw 调用的方法中检测左上角的图块,在 Assets 文件夹中创建一个包含位图路径的字符串,然后在绘制之前检查位图是否为空。如果它为空,它会将其加载到内存中。我的想法是在 DoBackground 中处理位图,并在 postExecute 中触发视图无效以显示异步加载的位图。几个问题:
1.) 我可以为每个位图执行我的 aSync 任务吗?(此语句: new myAsyncTaskManager().execute(bitmapPath); 如果不是,那么最好的方法是什么,因为 aSync 唯一要做的就是将位图加载到内存中?
2.) 如果位图加载太慢,是否可以设置优先级 aSyncTask?
3.)有没有更好的方法来解决这个问题?我确定是位图加载,而不是画布绘图减慢了应用程序的速度。
我的临时异步代码:
java - 从可运行/TimerTask 中检索字符串
我已经实现了一个每 15 分钟解析一次 URL 的计时器(计时器任务)。我创建的对象获取该数据。我之后使用它在屏幕上显示数据。
现在,每当我尝试从可运行对象中检索该 Object/a String=Object.toString() 时,都会出现空指针异常和致命错误。
我的问题是是否可以使用其他技术来做到这一点,或者对象不再存在于可运行对象之外,我们对此无能为力;如果是这样的话,任何人都可以告诉我是否有另一种实现计时器/可运行的方式?
多谢
这是我遇到问题的大部分代码
java - 如果之前的线程尚未完成,则排队线程
我正在尝试编写一个简单的视频操纵器,所以每秒几次我需要启动一个新线程(当前正在实现 Runnable)来处理当前帧,但我不能保证每个线程需要多长时间才能完成,因此我想要将一次可以运行的线程数限制为计算机上的处理器数:
但我需要保证创建的所有线程都按顺序运行,因此不会丢帧。
我还想根据用户取消作业时剩余运行的线程数向用户展示完成处理需要多长时间,这样他们就不会得到没有预告片的视频文件。
使用 futureTask、Execector 或 ExecutorService 的任意组合是否可以实现这一点?
谢谢。
编辑:
大家好,对不起,那是相当糟糕的措辞。所以我实际上想要做的是获取帧,执行一些图像处理,然后将编辑后的素材保存回一个新文件。目前我正在播放期间执行此操作,因此当计时器调用每个帧时都会对其进行操作,然后计时器会启动一个线程以尽快处理图像,但取决于这次操作的数量会有所不同。
然后我想确保如果处理时间长于仅使用最大有效线程数进行处理的时间间隔,并且在达到此限制后创建的任何线程仍然得到处理并且不会被丢弃或垃圾收集.
阅读了前 3 条评论后,我可以看到这可能是一种效率较低的方法,我想只有一个线程来保持 UI 响应会起作用,但我不确定如何继续将图像添加到线程中它可以在不使用大量列表的情况下进行处理。我假设它会是这样的:
在主课中:
在可运行类中:
这个对吗?
编辑2:
所以这就是我到目前为止所拥有的:
当图像处理很简单时,这很好用,但是你很快就会遇到数十个并发线程试图做他们的事情,因为它变得有点复杂,因此我问如何限制并发线程数而不丢弃任何线程。我不确定在这种情况下顺序特别重要,因为我认为乱序写入帧会将它们放在正确的位置,因为每个帧都指定了写入时间,但这需要测试。
java - 从方法(可运行)计时器中获取对象
我已经实现了一个计时器,它每 15 分钟解析一次 URL(Timer
任务)。一个名为的对象ParsedExampleDataSet
获取该数据。
每当我尝试从可运行对象中检索该对象或对象String=Object.toString()
时,都会收到空指针异常和致命错误。
我怎样才能找回它?我可以尝试另一种实现吗?为什么getBaseContext()
runnable里面不起作用?
这是我遇到问题的大部分代码。我还在出现问题的地方添加了两条评论。
android - 如何从 postDelayed 添加的处理程序对象中删除可运行对象?
我有一个“打开”动画,并在短暂延迟后Handler.postDelayed(Runnable, delay)
用来触发“关闭”动画。但是,在打开和关闭之间的时间里,可能还有另一个由点击触发的动画。
我的问题是,如何取消处理程序中的“关闭”动画?
android - 这个线程安全吗?
我正在为 Android 编写一个应用程序,并且正在使用工作线程来处理某些信息。通读我的代码后,我现在不确定它是否是线程安全的。
我已经编写了我的代码的简化版本,我省略了Handler
用于与主线程通信的对象,显然也省略了进程本身。
这是通过运行类似的东西来调用的。
那么,这段代码是否不是线程安全的,因为我正在函数中修改myString
(在主线程中声明)run()
?