java gui 多线程_Java多线程及GUI编程思想

多线程(单例设计模式)(掌握)

* 单例设计模式:保证类在内存中只有一个对象。

* 如何保证类在内存中只有一个对象呢?

* (1)控制类的创建,不让其他类来创建本类的对象。private

* (2)在本类中定义一个本类的对象。Singleton s;

* (3)提供公共的访问方式。 public static Singleton getInstance(){return s}

* 单例写法两种:

* (1)饿汉式 开发用这种方式。

*

//饿汉式

class Singleton {

//1,私有构造函数

private Singleton(){}

//2,创建本类对象

private static Singleton s = new Singleton();

//3,对外提供公共的访问方法

public static Singleton getInstance() {

return s;

}

public static void print() {

System.out.println('11111111111');

}

}

* (2)懒汉式 面试写这种方式。多线程的问题?

*

//懒汉式,单例的延迟加载模式

class Singleton {

//1,私有构造函数

private Singleton(){}

//2,声明一个本类的引用

private static Singleton s;

//3,对外提供公共的访问方法

public static Singleton getInstance() {

if(s == null)

//线程1,线程2

s = new Singleton();

return s;

}

public static void print() {

System.out.println('11111111111');

}

}

* (3)第三种格式

*

class Singleton {

private Singleton() {}

public static final Singleton s = new Singleton();//final是最终的意思,被final修饰的变量不可以被更改

}

###25.02_多线程(Runtime类)

* Runtime类是一个单例类

*

Runtime r = Runtime.getRuntime();

//r.exec('shutdown -s -t 300');//300秒后关机

r.exec('shutdown -a');//取消关机

###25.03_多线程(Timer)(掌握)

* Timer类:计时器

public class Demo5_Timer {

/**

* @param args

* 计时器

* @throws InterruptedException

*/

public static void main(String[] args) throws InterruptedException {

Timer t = new Timer();

t.schedule(new MyTimerTask(), new Date(114,9,15,10,54,20),3000);

while(true) {

System.out.println(new Date());

Thread.sleep(1000);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值