- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在处理一个现有的 Java 代码库,它有一个扩展 Thread
的对象,并且还包含一些与线程本身的操作相关的其他属性和方法。在以前版本的代码库中,线程始终是一个实际的、重量级的 Thread
,它以 Thread.start
开始,以 Thread.join
等待> 等。
我目前正在重构代码库,在当前版本中,并不总是需要对象的 Thread
功能(但由于对象中包含的其他功能,对象本身是必需的;在很多情况下,即使线程本身没有运行,它也是可用的)。因此,在某些情况下,应用程序会创建这些对象(扩展 Thread
)并且从不对它们调用 .start()
,而只是将它们用于其他属性和方法。
在未来,应用程序可能需要创建比以前更多的此类对象,以至于我可能需要担心性能问题。显然,创建和启动大量实际线程将是一场性能噩梦。同样的事情是否适用于从未启动的 Thread
对象?也就是说,是否仅需要任何操作系统资源或大型 Java 资源来创建 Thread
?还是仅当 Thread
实际上是 .start
时才使用资源,从而使未启动的 Thread
对象可以安全地大量使用?重构代码以将与线程无关的功能拆分为一个单独的函数是可能的,但如果这样做完全没有意义,我不想进行大规模重构。
我试图通过一些网络搜索来确定这个问题的答案,但是很难找到查询的目标,因为搜索引擎通常无法将 Thread
对象与实际的 Java 线程区分开来。
最佳答案
您可以实现 Runnable
而不是扩展 Thread
。
public class MyRunnableClass implements Runnable {
// Your stuff...
@Override
public void run() {
// Thread-related stuff...
}
}
每当你需要运行你的对象
作为一个线程
时,只需使用:
Thread t = new Thread(new MyRunnableClass());
t.start();
关于java - 创建线程并且从不启动它是否会对性能产生影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53295661/
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 6 年前。 Improve t
notificationCenterPublisher = NotificationCenter.default .publisher(for: .NSManagedObjec
我有以下 Rust 代码: #[inline(never)] fn x() -> i32 { 21 } pub fn main() -> i32 { x() } 如果没有优化 (-C
notificationCenterPublisher = NotificationCenter.default .publisher(for: .NSManagedObjec
我有以下 Rust 代码: #[inline(never)] fn x() -> i32 { 21 } pub fn main() -> i32 { x() } 如果没有优化 (-C
假设我的 ASPX 页面没有内联 C# 代码块。 所以,我可以安全地设置 ...在我的 web.config 文件中,不用担心编译错误。 就性能而言,使用以下设置是否会有任何损失? 即“自动”检测
应用程序.js var win1 = Titanium.UI.createWindow({ title:'Tab 1', backgroundColor: 'black', l
基本上,我正在为实现多级优先级队列的 xv6 内核实现一个调度程序。我有一个严重的问题,我不明白,我类(class)的助教不明白,我已经错过了这个项目的最后期限,所以现在帮助我不会给我任何加分 - 但
我想避免 git 自动 merge 我的 composer.json。这样我就可以在 develop 分支中有一个使用 dev-develop 包的 composer.json,而 master 中的
当比较两种不同的算法实现时(因此,不关心它们的绝对性能,而只关心相对性能)我是否最好强制 Java 只运行解释代码? 也就是说,打开 -Xint 标志会更好吗? 最佳答案 我不认为禁用 JIT 会更好
class A{ const size_t number; public: A(size_t number): number(number) {} void f(){
问题 寻找在以下之间切换的方法: 总是 从不 仅在静默模式下 仅当不处于静默模式时 这些选项在手机上的路径---菜单>>设置>>声音>>振动---找到。 通过手机导航很容易更改(顺便说一句,我的手机是
如何设置电源设置关闭:从不(关闭显示器=从不,让计算机进入休眠状态=从不),通过c#代码 最佳答案 这个问题中给出的链接可以告诉你一个方法。 Programmatically change Windo
我是一名优秀的程序员,十分优秀!