- 博客(8)
- 收藏
- 关注
原创 【JAVA】JSP中通过Get和Post方式传递页面参数(三种方式)。
1、Login.jsp (登录页)2、index.jsp(接收参数页)
2024-01-18 09:28:32
565
1
原创 synchronized 和 Lock ,ReentrantLock有什么区别?
1.synchronized 可以给类. 方法. 代码块加锁;而 lock 只能给代码块加锁。2.synchronized 不需要手动获取锁和释放锁,使用简单,发生异常会自动释放锁,不会造成死锁;而 lock 需要自己加锁和释放锁,如果使用不当没有 unLock()去释放锁就会造成死锁。3.通过 Lock 可以知道有没有成功获取锁,而 synchronized 却无法办到。
2023-09-12 22:43:20
52
原创 原子类
小结:在多线程环境下,volatile关键字可以保证共享数据的可见性,但是并不能保证对数据操作的原子性 (在多线程环境下volatile修饰的变量也是线程不安全的)。4.此时CPU的执行权切换到了A线程上,由于此时线程B没有将工作内存中的数据刷新到主内存,因此A线程 工作内存中的变量值还是100,没有失效。概述:所谓的原子性是指在一次操作或多次操作,要么所有的操作全部都得到了执行并且不会受到任何因素的干扰而中断,要不所有的操作都不执行。对线程1来说,旧的预期值A=10,要修改的新值B=11。
2023-07-17 21:14:24
25
1
原创 线程状态&volatile关键字
每一个线程还存在自己的工作内存,线程 的工作内存,保留了被线程使用的变量的工作副本。线程对变量的所有的操作(读,取)都必须在工作内存中 完成,而不能直接读写主内存中的变量,不同线程之间也不能直接访问 对方工作内存中的变量,线程间变量的值的传递需要通过主内存完成。总之,JMM 是 Java 中处理多线程并发的重要模型,它定义了线程之间如何与主内存和工作内存交互的规则,以保证多线程程序的正确性。主内存是所有线程共享的内存区域,而每个线程都有自己独立的工作内存,用于存储主内存中的部分数据的拷贝。
2023-07-17 20:34:03
29
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人