如果只有一个实例,多个用户同时访问这个实例中的同一个方法,多个用户对这个方法都传入了不同的参数值。 这个方法根据不同的参数值返回不同的结果。我的疑问是:同时传入不同的参数值,程序处理之后返回相应的值,那么程序怎么知道这个值 应该给这个用户,那个值应该给那个用户呢? 
 
我的意思是,比如有A,B这个两个用户,同时访问一个实例中的一个方法 KK(int c)。A客户传入的参数是1,B客户传入的参数是2,方法 KK(int c) 处理之后 对于1,应该返回0,对于2 应该返回100.因为是同时访问的,程序上怎么能区分 1 是 A客户的返回值,100是B客户的返回值? 

解决方案 »

  1.   

    我又想了想ZangXT的回复,我现在知道是什么原因了。
    多个客户请求可能同时访问这个方法,即多个线程同时访问这个方法。
    不管同时进入该方法的线程有多少,它总是线程安全的。因为各个线程都维护了属于各个线程的栈,并不同其他线程共享。
    当A客户访问这个方法时,产生了一个线程。当B客户访问这个方法时,产生了另一个线程。各个线程在当前方法(包括静态方法)中创建的方法变量仅属于当前线程,即存储在当前线程的栈中。
    这个两个线程之间的数据没有共享。所以他们之间的数据不会串用。