草庐IT

runnable

全部标签

android - 处理程序帖子在 Kotlin Android 中不起作用

谁能告诉我什么是错的?我尝试使用Handler发布Runnable但它没有执行varmHandler:Handler?=nulloverridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)mHandler=Handler()varrunnable=Runnable{Log.d("TEST","++++runable")Log.d("TEST","++++comeend")}Log.d("TEST","++++

android - 处理程序帖子在 Kotlin Android 中不起作用

谁能告诉我什么是错的?我尝试使用Handler发布Runnable但它没有执行varmHandler:Handler?=nulloverridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)mHandler=Handler()varrunnable=Runnable{Log.d("TEST","++++runable")Log.d("TEST","++++comeend")}Log.d("TEST","++++

java - 将 Thread/Runnable 实现从 Java 转换为 Kotlin

我有一个现有的Java类ThreadUtils,其方法every如下所示:publicclassThreadUtil{publicstaticThreadevery(intseconds,Runnabler){Threadt=newThread(()->{while(true){r.run();try{Thread.sleep(1000*seconds);}catch(InterruptedExceptione){return;}}});t.start();returnt;}}我正在尝试将其转换为Kotlin。我对Runnable关闭有点犹豫。这失败了一个错误的return:funev

java - 将 Thread/Runnable 实现从 Java 转换为 Kotlin

我有一个现有的Java类ThreadUtils,其方法every如下所示:publicclassThreadUtil{publicstaticThreadevery(intseconds,Runnabler){Threadt=newThread(()->{while(true){r.run();try{Thread.sleep(1000*seconds);}catch(InterruptedExceptione){return;}}});t.start();returnt;}}我正在尝试将其转换为Kotlin。我对Runnable关闭有点犹豫。这失败了一个错误的return:funev

android - 我在 new Thread(new Runnable()) 中看不到我的 Toast 消息

我在连接和断开连接后显示消息时遇到一点问题。我正在尝试按下我的连接按钮并在新线程中建立通信以获取toast消息:您已连接,如果我未连接以在异常中获取toast:您未连接。我尝试将新线程替换为runOnUiThread(newRunnable()/*butthenItunderline*/}).start();在我的代码末尾是一个错误。当我删除开始并运行应用程序时无法连接到我的服务器。我尝试了很多解决方案,但没有一个有效。如果你能帮助我,我将不胜感激。@OverridepublicvoidonClick(Viewv){newThread(newRunnable(){@Overridepu

java - 有没有办法让 Runnable 的 run() 抛出异常?

我在run()中调用的方法在实现Runnable的类中)旨在引发异常。但Java编译器不允许我这样做,并建议我用try/catch将其包围。问题在于,通过用try/catch包围它,我使特别run()无用。我确实想抛出那个异常。如果我为run()指定throws编译器本身会提示Exception与Runnable.run()中的throws子句不兼容。通常我完全可以不让run()抛出异常。但我有一个独特的情况,我必须拥有该功能。如何解决这个限制? 最佳答案 您可以使用Callable而是将其提交给ExecutorService并等待

java - 有没有办法让 Runnable 的 run() 抛出异常?

我在run()中调用的方法在实现Runnable的类中)旨在引发异常。但Java编译器不允许我这样做,并建议我用try/catch将其包围。问题在于,通过用try/catch包围它,我使特别run()无用。我确实想抛出那个异常。如果我为run()指定throws编译器本身会提示Exception与Runnable.run()中的throws子句不兼容。通常我完全可以不让run()抛出异常。但我有一个独特的情况,我必须拥有该功能。如何解决这个限制? 最佳答案 您可以使用Callable而是将其提交给ExecutorService并等待

java - 实现 Runnable 与扩展 Thread

这个问题在这里已经有了答案:"implementsRunnable"vs"extendsThread"inJava(43个回答)关闭9年前。为什么实现Runnable比从Thread类扩展更好?

java - executorService.submit(Runnable) 返回的 future 对象是否包含对可运行对象的任何引用?

假设我们有以下代码:List>runningTasks;ExecutorServiceexecutor;...voidexecuteTask(Runnabletask){runningTasks.add(executor.submit(task));}我的问题是:runningTasks是否包含对task对象的引用?它能保持多长时间?任务完成后它还持有吗?为了避免内存泄漏,我是否必须小心删除添加到列表中的future? 最佳答案 直到执行者或Future对象持有对它的引用时是一个实现细节。因此,如果您的任务使用大量内存以至于您不得不

java - 为什么在实现 Runnable 时使用 Thread.currentThread().isInterrupted() 而不是 Thread.interrupted()?

在stackoverflow上,经常看到Thread.currentThread().isInterrupted()的使用。当实现Runnable并在while循环中使用它时,如下所示:publicvoidrun(){while(!Thread.currentThread().isInterrupted()){...}}使用Thread.interrupted()有什么区别吗(除了使用interrupted()时清除了interrupted标志)?我还看到了Thread.currentThread().interrupted()。这是使用它的正确方法,还是Thread.interrup