JAVA知识点总结15-多线程

1.多线程

   1.两种实现方式:继承Thread,实现Runnable接口,但都要重写run方法

     2.多个对象可同时开启线程,但一个对象不可重复开启线程

     3.对象单独调用run方法还是在主线程上,而调用start开启了一个新线程

     4.线程命名:setName(“”); 线程的调度优先级 setPriority()默认值是5,区间1-10

     5.Thread.currentThread().getName(),   this.getName();

      

  线程安全问题:

     1.用锁synchronized锁上

     A.同步代码块时:  在这里,对象如果是同一个,安全,不是同一个则不安全

        Object obj=new Object();

      synchronized(对象obj){

          代码;

          }


     B.静态同步方法:在这里,对象是类的字节码对象MyThread.class

public static synchronized void sellTicket(类的字节码对象) {

      需要同步的代码

}

      

     C.同步方法:仅适用于实现runable接口

public synchronized void sellTicket(this){

同步代码

}


  匿名内部类:

        方式1:
new Thread(){
//重写的方法
@Override
public void run() {
for (int i = 0; i <10; i++) {
System.out.println(i);
}
}
}.start();

方式2
new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i <10; i++) {
System.out.println(i);
}
}
}).start();


Sleep wait 的不同?

  sleep在一定时间后自动唤醒,wait需要手动唤醒

  锁对象.notify

    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值