多线程-复习
1. 画图说明线程的生命周期,以及各状态切换使用到的方法等
状态,方法

2. 同步代码块中涉及到同步监视器和共享数据,谈谈你对同步监视器和共享数据的理解,以及注意点。
synchronized(同步监视器){
	//操作共享数据的代码(不能包括多了,也不能包括少了)
}
同步监视器:是一个对象,任何一个类的对象都可以充当,多个线程必须要共用同一个监视器
共享数据:多个线程共同操作的数据,叫共享数据

3. sleep()和wait()的区别
sleep()在Thread类里,wait()在Object类里
sleep()可以声明在任意位置,wait()只能声明在同步代码块或同步方法内
sleep()在指定时间后自动结束阻塞,wait()需要被notify(),notifyall()唤醒后结束阻塞
sleep()不会主动的去释放锁,wait()会主动的释放锁

4. 写一个线程安全的懒汉式

5. 创建多线程有哪几种方式
创建多线程有四种方式
1. 继承 Thread 类
2. 实现 Runnable 接口
3. 实现 Callable 接口
4. 线程池(响应速度提高了,提高了资源的重用率,便于管理)
package top.qaqaq.java.P447;

/**
 * @author RichieZhang
 * @create 2022-10-22 上午 10:58
 */
public class BankTest {

}

class Bank{

    private Bank(){

    }

    private static Bank instance = null;

    public static Bank getInstance() {

        if (instance == null) {

            synchronized (Bank.class) {

                if (instance == null) {
                    instance = new Bank();
                }

            }
        }
        return instance;
    }
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇