草庐IT

RUNNABLE

全部标签

C++11 线程不适用于虚拟成员函数

我试图让一个类运行一个线程,该线程将在一个循环中调用一个名为Tick()的虚拟成员函数。然后我尝试派生一个类并覆盖base::Tick()。但是在执行的时候,程序只是调用了基类的Tick,而不是覆盖一个。有什么解决办法吗?#include#include#include#includeusingnamespacestd;classRunnable{public:Runnable():running_(ATOMIC_VAR_INIT(false)){}~Runnable(){if(running_)thread_.join();}voidStop(){if(std::atomic_exc

ios - Swift 对 Java 的 Runnable 的模拟

令人惊讶的是,谷歌搜索没有返回任何相关信息。我在Android上做什么:voiddoSomethng(Runnabler){r.run();}这只是在发送类的上下文中传递一些代码块,然后按需执行该block。如何使用适用于iOS的Swift执行相同的操作? 最佳答案 获取没有参数且没有返回值的block的函数语法如下:funcdoSomethng(runnable:()->()){runnable()}如果你打算广泛使用这样的block,你可以为它定义一个特殊的类型:typealiasRunnable=()->()funcdoSom

java - Android如何同时处理多个Runnable对象

我试图创建多个任务队列并同时执行它们,但延迟时间不同。基本上,一开始我只有一个可运行的对象privatefinalRunnablemyQueue=newRunnable(){publicvoidrun(){if(service!=null&&service.isRunning()&&service.queueEmpty()){queueTasks();}//runagaininperioddefinedinpreferencesnewHandler().postDelayed(myQueue,getUpdatePeriod(prefs));}};privatevoidStartWExe

Android - 关于postDelayed和Threads的问题

我有一个关于postDelayed的问题。android文档说它将可运行对象添加到队列中并在UI线程中运行。这是什么意思?例如,我用来创建布局的同一个线程用于运行Runnable?如果我希望它作为一个独立线程在我创建布局和定义Activity时执行怎么办?谢谢克里斯 最佳答案 是的,它将在UI线程上运行。如果你想运行一个后台线程,那么用正常的方式来做。Threadt=newThread(newRunnable(){});t.start()但如果您想要更改UI以响应后台线程可能执行的操作,则可以使用postDelayed()。对UI的

android - 我怎样才能知道 onDraw 何时完成?

如何知道View的onDraw何时完成?谢谢! 最佳答案 我不知道您最终想要实现什么,但是如果您需要在Activity中完成绘制后运行一些逻辑,那么您可以调用View。post(Runnable)并将你的逻辑放在里面。onDraw可能会在到达Runnable中的代码后发生,因为它会将Runnable放入消息队列。 关于android-我怎样才能知道onDraw何时完成?,我们在StackOverflow上找到一个类似的问题: https://stackover

java - 如何传递或分配在 runOnUiThread 中获得的值

在WebView的子类中,我在getTitle()的重写方法中有这个:@OverridepublicStringgetTitle(){Activitya=getVoTts().getActivity();a.runOnUiThread(newRunnable(){publicvoidrun(){Stringtit=VoWebView.super.getTitle();}});Stringtitle=tit;//thisiswhatIWANTtodo,itwon'tcompileofcourse......}但是字符串tit在匿名Runnable类中被关闭,因此当然不能通过方法访问。是否

Android:具有处理程序和可运行的 ListView 中的多个计时器。 2个问题

我正在创建一个包含2列的ListView的应用程序。第一列应显示倒计时,第二列应显示附加文本,解释倒计时的目的。在下面,您会看到我的代码可以正常工作……或多或少。我有一个包含多行的ListView,计时器在滴答作响。一个问题是:我的runnable中的set.Text()似乎覆盖了所有行。例如。runnableforrow1setstextalsotorow2and3,runnableforrow2setstextalsofor1and3等等。这具有第一列闪烁的效果(具有正确的值和其他行的值)。如何为ListView中的特定行设置文本?下一个问题:即使我从处理程序中删除回调,runna

android - 通过 UI 或非 UI 线程发送广播?

在单独的线程中发送广播(在我的例子中是ACTION_APPWIDGET_UPDATE)是否比UI线程(可运行)更好(为了性能)?或者在UI线程上这样做是否可以接受? 最佳答案 您可以阅读sendBroadcast的文档:Thiscallisasynchronous;itreturnsimmediately,andyouwillcontinueexecutingwhilethereceiversarerun.因此在UI线程上调用它是绝对安全的 关于android-通过UI或非UI线程发送广

java - 如何从可运行线程中获取局部变量

我有一个帮助程序(不是Activity)类,它对API进行查询,该API具有一个名为run()的公共(public)函数。并在新线程上运行(根据Android规范)。我的MainActivity创建一个新的MakeQuery对象并运行其run()功能:MakeQueryq=newMakeQuery();q.run();但是,我需要从线程中访问一个变量。下面是一个简短的代码示例:publicclassMakeQueryimplementsRunnable{privatevoidsetNewString(StringlocalThreadString){//NewStringcomesou

java - 在 lambda 函数中获取接口(interface)引用

考虑以下代码:valhwnd=Handler()hwnd.postDelayed(object:Runnable{overridefunrun()hwnd.postDelayed(this,5000)}},5000)这样,我可以通过在run()方法中使用this(指的是Runnable)将相同的Runnable发送到Handler。但是我怎么能只使用一个lambda表达式来做同样的事情呢?valhwnd=Handler()hwnd.postDelayed({//Howtoget"this"here?},5000)这可能吗? 最佳答案