随笔分类 - java / 并发编程
发表于 2023-03-29 14:12阅读:18评论:0推荐:0
摘要:补充:并发安全问题 当使用多线程时,发生并发安全的会在同一个类对象中,且对于成员变量容易发生并发安全。局部变量不会导致并发安全,因为每调用一次方法,都会有一个独立的栈帧存放各自的变量信息。 1. 实现生产者消费者问题要使用while循环,不可以使用if否则会导虚假唤醒。 2. 用synchroniz
阅读全文 »
发表于 2023-02-11 17:05阅读:11评论:0推荐:0
摘要:悲观锁:认为线程问题一定会发生,在操作数据之前就获取锁,确保线程串行执行。列如Synchronized、lock 乐观锁:认为线程问题不一定发生,因此不加锁,只是在更新数据时去判断有没有其他线程对数据进行了修改。如果没有修改则认为是安全的,自己才更新数据。 如果已经被其他线程修改说明发生了安全问题,
阅读全文 »