我正在写一个我有List的类。我从Runnable
的运行方法实例化列表。如:线程列表的内存范围
public void sendEmailToLegalUsers() {
Log.info("JYM====================================");
try {
new Runnable() {
public void run() {
userCns = new ArrayList<String>();
recipients = new ArrayList<String>();
///other codes
}
};
} catch (Exception e) {
Log.info("Error occurred in LDAPSendMail: "+ e.getMessage());
}
Log.info("END====================================");
}
现在每次调用sendEmailToLegalUsers方法都会有一个新的线程。现在我想知道该列表的内存范围是否与类级别相关(如果它与类级别有关,并且如果说这个方法被调用了两次,那么线程1创建的列表将会发生什么情况一个线程2)或者当线程运行在他们自己的作用域中时,那么这个列表对于每个线程将有不同的范围。有没有机会在两个或多个线程之间混合列表数据?
非常感谢您的解释。 –