当前位置: 主页 > JAVA语言

java单例模式-java单例模式线程安全

发布时间:2023-02-09 11:27   浏览次数:次   作者:佚名

单例模式的扩展与应用。 写一个类LimitInstanceClass,最多可以实例化指定数量的实例。 实例数由配置文件 InstanceLimit.cfg 指定。 例如InstanceLimit.cfg的内容为2java单例模式,则LimitInstanceClass最多可以同时拥有2个对象。 LimitInstanceClass的对象有一个整型成员变量id,存放的是对象的编号; 有一个布尔变量isBusy,如果该变量的值为true,则表示该对象正在被使用,否则该对象空闲; 如果有空闲对象,则调用LimitInstanceClass的getInstance()方法会返回一个空闲对象java单例模式,并将该对象的isBusy设置为true; 如果没有空闲对象,则返回 null。 LimitInstanceClass 有一个 release() 方法,可以将对象的 isBusy 设置为 false。 LimitInstanceClass还有一个String类型的成员变量accessMessage,还有一个成员方法writeAccessMessage(String message),将参数message追加到accessMessage中。 LimitInstanceClass的printAccessMessage()方法输出accessMessage的内容。 写一个线程类AccessLimitInstanceClassThread,在其run()方法中获取一个LimitInstanceClass对象,调用获取对象的writeAccessMessage(String message),将自己的线程名写入accessMessage,随机休眠0-5秒,然后调用printAccessMessage() ,最后调用release()方法。 编写一个UseLimitInstanceClass类,在其main方法中实例化10个AccessLimitInstanceClassThread线程对象,并启动每个线程。 将InstanceLimit.cfg的内容设置为3,写下你程序的运行结果。