线程不安全的实体Bean

来源:互联网 发布:诸葛武侯巧连神数 算法 编辑:程序博客网 时间:2024/06/01 08:54

线程不安全的写法


/**   
 * @Title: EE.java 
 * @Package com.th.test2 
 * @Description: TODO(用一句话描述该文件做什么) 
 * @author Aaron·Li   
 * @date 2017年8月31日 上午11:16:12 
 * @version V1.0   
 */
package com.th.test2;


import java.util.ArrayList;
import java.util.List;


import org.apache.commons.lang.StringUtils;


/**
 * @author Aaron·Li
 * @date 2017年8月31日 上午11:16:12
 */
public class EE {
private String keywords;


private List<String> keys = new ArrayList<String>();


public String getKeywords() {
return keywords;
}


public void setKeywords(String keywords) {
this.keywords = keywords;
}


public List<String> getKeys() {
if (StringUtils.isNotBlank(keywords)) {
if (keys.isEmpty()) {
for (String s : keywords.split(" ")) {
if (!s.isEmpty()) {
keys.add(s);
}
}
}
}
return keys;
}
}


线程安全的先写法

/**   

 * @Title: EE.java 
 * @Package com.th.test2 
 * @Description: TODO(用一句话描述该文件做什么) 
 * @author Aaron·Li   
 * @date 2017年8月31日 上午11:16:12 
 * @version V1.0   
 */
package com.th.test2;


import java.util.ArrayList;
import java.util.List;


import org.apache.commons.lang.StringUtils;


/**
 * @author Aaron·Li
 * @date 2017年8月31日 上午11:16:12
 */
public class EE {
private String keywords;


private List<String> keys = new ArrayList<String>();


public String getKeywords() {
return keywords;
}


public void setKeywords(String keywords) {
this.keywords = keywords;
}


public List<String> getKeys() {
if (StringUtils.isNotBlank(keywords)) {
if (keys.isEmpty()) {
synchronized (keys) {
if (keys.isEmpty()) {
for (String s : keywords.split(" ")) {
if (!s.isEmpty()) {
keys.add(s);
}
}
}
}
}
}
return keys;
}
}
原创粉丝点击