2016-09-04 14 views
0

このプログラムが実行されているかどうかシングルスレッドまたはマルチスレッド ??これはシングルスレッドまたはマルチスレッドで動作しますか?

サーブレット

public class PagesNavigation extends HttpServlet { 

    private static final long serialVersionUID = 1L; 
    public UserData user = null; 

    public void init(ServletConfig config) throws ServletException { 
     super.init(config); 

     try { 
      user = new UserData(); //I will use this object to access all functions. 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

クラス:UserDataの

任意の助け
public class UserData { 

    AvailableProducts availableProducts = new AvailableProducts(); 
    UserSelectedProduct userSelectedProduct = new UserSelectedProduct(); 
    ProductsCart productsCart = new ProductsCart(); 
    CartView cartView = new CartView(); 
    ProductsForCheckout productsForCheckout = new ProductsForCheckout(); 
} 

感謝。

+1

[サーブレットのしくみ](http://stackoverflow.com/questions/3106452/how-do-servlets-work-instantiation-sessions-shared-variables-and-multithreadi)をご覧ください。 –

答えて

0

Java Enterprise Editionプログラミング(通常はHttpServlet)を実行している場合は、すべてがマルチスレッドであり、例外はほとんどありません。 UserDataオブジェクトは、スレッドセーフである必要があります。

1

サーブレットはシングルトンで、間違いなく複数のスレッドによって実行されます。

また、特定のユーザーの製品をカスタマイズしない限り、AvailableProductsはシングルトンになり、すべてのユーザー間で共有される可能性があります。

関連する問題