synchronized是解决多线程中同步问题的一个关键字

来源:互联网 发布:一级域名和二级域名 编辑:程序博客网 时间:2024/05/01 09:28

synchronized是解决多线程中同步问题的一个关键字。比如火车站卖票,如果不同步的话,很可能当一个窗口卖完了某一张票后,另一个窗口依然显示有那张票,但是取的时候就取不到了。加入synchronized后当一个窗口访问这张票的时候另一个窗口不能访问这张票。不知道这样解释你懂不懂?
下面是singleton:
public class Singleton {
private Singleton s;
private Singleton()
{
 
}
public static Singleton getSigleton()
{
  if(s==null)s=new Singleton();
  return s;
}


}
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。

在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。

上面的程序就是一个单例模式,这个类的构造方法用private修饰了,所有在外边都不能调用,也就不能new Singleton();得到实例,那么
想得到实例就得调用它的静态方法getSigleton();即Singleton.getSigleton();就会返回一个Singleton的实例,注意此方法中的语句,即如果你是第一次调用这个方法那么它会给你new一个实例,以后再调用得到的都是这个实例,也就是说从始至终就只有一个Singleton的实例,这就是单例模式。

原创粉丝点击