线程是否为应用程序添加了大量开销?

Bra*_*ein 6 java multithreading android

随着我的应用程序的成熟,我发现自己越来越多地使用线程.到现在为止,我必须拥有大约25个线程,所有线程都在做重要的事情,并在交响乐中一起工作.

不过我注意到我的应用程序大约占15.5MB左右.与浏览器(+/- 35MB)相比,我觉得非常安全,但我确实注意到我的应用程序的常驻大小不断增加.

问题是,添加线程需要多少开销?

我也想知道synchronized关键字是否会遇到越来越多的延迟与每个新的线程存在?

谢谢!

Sho*_*vik 2

线程非常有用,但同时它们也可能是一种威胁。我正在开发一个项目来检查应用程序带来的威胁。如果您通过 adb shell 运行 top,它会专门告诉您应用程序可能正在运行多少个线程。

您将看到处理器使用率与线程数成正比。这几乎意味着线程数量越多,开销就越大。虽然它们似乎可以让你的活动不被卡住,但同步它们的动作可能会变得非常痛苦,然后你可能会陷入僵局,这不是很漂亮。此外,多个线程也会引起对应用程序行为的怀疑。因此,应本着其应有的精神来使用它们。

  • 呃,从安全角度来看,具有大量线程的应用程序没有任何可疑之处。 (4认同)