美文网首页
多线程2-同步异步、阻塞非阻塞

多线程2-同步异步、阻塞非阻塞

作者: StayHungriest | 来源:发表于2020-03-13 13:15 被阅读0次

    一、并发与并行

    并发:两个或多个事件在同一时间间隔内执行
    并行:两个或多个事件在同一时刻执行
    并行可能会造成:同一个对象,多个线程同时操作
    解决:利用线程同步
    一文解释同步异步、阻塞非阻塞:https://blog.csdn.net/m0_37806112/article/details/81910410

    二、线程同步

    一种等待机制

    1. 锁机制

    同一进城的多个线程共享一块存储空间,会出现访问冲突。
    (1) 排它锁
    当一个线程获得排它锁时,独占资源,其他线程必须等待。

    2. synchronized关键字

    (1) synchronized方法


    同步方法

    (2) synchronized块


    同步块
    3. 死锁与活锁

    死锁:
    a要b资源,b要a资源。两个都被阻塞。
    活锁:
    a请求资源t并拿走,b请求t失败,c请求t拿走,b请求t失败,d请求t拿走。。。b一直请求失败,造成活锁。
    死锁解决:
    避免同一同步块中持有两个锁

    相关文章

      网友评论

          本文标题:多线程2-同步异步、阻塞非阻塞

          本文链接:https://www.haomeiwen.com/subject/soyqshtx.html