问题标签 [java-threads]
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.
java - 对执行 Swing 应用程序的主类中的 SwingUtilities.invokeLater() 方法的调用到底是什么?
我是Swing的新手,我对这个启动基于教程项目的 Swing 应用程序的主类有以下疑问:
因此,此类包含main()方法,该方法是应用程序启动时执行的方法。
它执行SwingUtilities.invokeLater()方法,该方法创建一个包含run()方法的Runnable对象,该方法本身执行作为我的 Swing 应用程序入口点的runApp()方法。
我的疑问与SwingUtilities.invokeLater()方法的确切作用有关。究竟是做什么的?作为invokeLater()方法的参数创建的Runnable对象是什么?在我看来,它是一个自动实现Runnable接口的对象,但我不确定,我也不清楚为什么要这样做。
你能帮我理解这个简单的 Swing 应用程序的架构是如何工作的吗?
java - 线程排序比非线程排序运行慢
我正在尝试使用线程对文件进行排序。这是 Sort.java :
这个函数在线程的帮助下排序
此功能正常排序
现在,当我使用两种方式进行排序时,正常排序比线程版本更快。这可能是什么原因?我错过了什么吗?
我的 SortingThread 是这样的:
当我通过将其性能与原始非线程实现进行比较来分析我的线程实现时,我发现第二个更快。这种行为的原因是什么?如果我们谈论相对性能改进,我们期望线程实现更快,如果没有错的话。
编辑:假设我有正常功能的 MergeSort。但是在这里发布它的代码是没有用的。getData() 函数也只是从文件中获取输入。我认为问题在于将整个文件放入数组中。我认为我应该为不同的线程提供不同的行:
java - Possible execution result
is : B. Wallace-1 Gromit-2 Wallace-2 Gromit-1 a possible result of the execution of this code?
java - 如何以编程方式导致 Android 延迟?
我尝试使用Thread.sleep()
但没有用。当我使用它时,应用程序停止响应。
我需要像这样在我的代码中添加一些延迟:
我尝试使用 Handler,如下所示:
但是当我使用它时,循环会在等待 1 秒之前继续。我需要一个可以停止循环 1 秒的延迟,转到下一行,然后继续循环。
java - java多线程 - 如何同步
我有一个具有以下方法的课程
这个Test类被不同的线程使用,它们将用自己的数据填充变量'l1'并将它们发送给接收者。如果我必须同步它以按顺序发送数据,以便接收者每次都获得一整帧数据(没有来自不同线程的数据混乱),我应该在“l1”上同步还是在 Test.class 上同步?我阅读了教程和示例,但我仍然有这个问题。
java - 线程休眠让其他线程等待
我有一项任务,在为用户生成随机密码时,SMS 应该在 4 分钟后发送,但欢迎 SMS 应该立即发送。由于我首先设置密码并且需要在 4 分钟后发送,因此我正在使该线程休眠(不能使用 ExecutorServices),并欢迎 SMS 线程启动。
这是代码:
因此,如果我更改线程 sendWelcomesms2 立即启动的顺序。我必须发送欢迎短信然后密码短信(4 分钟后)如何实现?
注意:两条短信都在 4 分钟后发出
android - 与 Thread 上的用户交互导致我的应用程序崩溃
如果 TextView.setText 在 Thread 内,我的应用程序会崩溃:
注意:以下类在 MainActivity 内。
java - Java 线程池 - 使用相同的线程来执行类似的任务
我正在寻找一种方法来拥有一个 java 线程池,其中具有相同 id 的可运行任务应该始终由同一个线程处理。
非常感谢这方面的任何帮助。谢谢!
java - 无法理解变量 PizzaNum 的值变化
在下面的这段代码中,我试图制作 10 个比萨饼(因为 的值pizzaNum
变为 10),然后从不同的线程中为它们提供服务(我只使用了一个线程作为问题),但就在 run 方法的开始,值pizzaNum
变为0。为什么?我无法理解这一点。
输出:
10
运行前 0
0 饿死 0
java - 如何从线程中获取字符串或从线程返回字符串?
我正在使用获取数据并存储在String
. 我需要使用它String
,但我不能接受。全局变量在线程中不起作用。我正在使用传统的 Thread new Thread() { public void run() {
。