如何将应用程序标识为单线程或多线程?

时间:2011-09-09 22:17:57

标签: java

我怎么知道我正在开发的应用程序是单线程还是多线程? 例如,StackOverflow是一个多线程或单线程Application?

我们都登录到stackoverflow,这是否意味着...同时n个用户正在尝试访问stackoverflow登录类... checkLogin方法?

那么我们应该声明checkLogin方法synchronized吗?

3 个答案:

答案 0 :(得分:2)

您怎么可能知道您正在开发的应用程序是否是多线程的?你是开发者!

但是在Java中,除非你完全设法避免使用Thread.start(),Swing,AWT,RMI,垃圾收集,servlet容器等等,否则你的应用程序 是多线程的。

答案 1 :(得分:2)

StackOverflow不是一个常见的(桌面)应用程序,它是一个Web应用程序。

Web应用程序在某种应用程序服务器上运行,它几乎总是一个多线程程序。

关于同步方法,如果同时执行该方法的多个线程可能导致意外行为,则只需添加同步。通常 - 但不总是 - 在方法修改共享变量(例如计数器变量)或访问某些有限资源(例如套接字)时发生。

答案 2 :(得分:1)

您可以使用像OllyDbg这样的调试器来检查常见应用程序是否是多线程的