//定义公有方法提供一个全局访问点。 public static PrisonService GetInstance() { //这里的lock其实使用的原理可以用一个词语来概括“互斥”这个概念也是操作系统的精髓 //其实就是当一个进程进来访问的时候,其他进程便先挂起状态 if (prisonService == null)//区别就在这里 { lock (locker) { // 如果类的实例不存在则创建,否则直接返回 if (prisonService == null) { prisonService = new PrisonService(); } } } return(prisonService); }
public List <Prison> findPrisonInfoByUser(string userName) { List <Prison> prisonList = new List <Prison>(); DataSet dataset = UserDao.GetInstance().findPrisonByUser(userName); if ((dataset != null) && (dataset.Tables[0].Rows.Count > 0)) { for (int i = 0; i < dataset.Tables[0].Rows.Count; i++) { Prison prison = new Prison(); prison.Name = dataset.Tables[0].Rows[i]["name"].ToString().Trim(); prison.Id = Convert.ToInt32(dataset.Tables[0].Rows[i]["id"].ToString()); prison.DepartmentList = PrisonService.GetInstance().findDepListByPrisonId(prison.Id); prisonList.Add(prison); } } return(prisonList); }