0
点赞
收藏
分享

微信扫一扫

学大数据小胖的第十六天

pipu 2022-02-15 阅读 46
java

Runnable接口
    步骤:
        1.创建类实现Runnable接口
        2.重写run
        3.创建当前类对象
        4.创建线程Thread对象,当前类对象作为参数
        5.待用start
    Runnable接口的实现类,不是线程,只是有run封装来了线程所要执行的代码
    Thread才是线程对象
    Runnable接口的实现类通过Thread转化交给JVM执行run方法,转化之后Runnable接口的实现类可以看作线程

Thread和Runnable区别
    Runnable可以实现资源共享,多个线程对象所使用的Runnable接口的实现类时同一个
    Thread不能实现资源共享,多个线程都会使用new开辟空间

资源共享中的问题(安全问题):
    问题一:
        资源重复
    问题二:
        资源超出
    问题出现的原因:
        多线程的随机性导致
    如何判断是否数据安全问题:
        1.多线程
        2.资源共享
        3.多语句操作资源共享
    解决方案:
        因为多线程的随机性,导致每个线程执行多语句操作资源共享时,语句执行不完整
        让语句执行完整
        通过锁

synchronized锁(同步):
    同步代码块:this
        格式:
            synchronized(任意对象){}
    同步方法:this
        格式:
            修饰符 synchronized 返回值类型 方法名(){}
    同步静态方法:类名.class
        格式:
            修饰符 static synchronized 返回值类型 方法名(){}

注意:
    想要锁住需要多个线程使用同一个对象            

举报

相关推荐

0 条评论