java线程间通讯的一些方法总结
来康康用Java怎么实现1、基于synchronized2、基于reentrantLock3、基于volatile4、基于countDownLatch我目前就知道这四种1、synchronized+wait() 和 notify()wait() 和 notify()都是Object类的通讯方法,注意一点,wait和 notify必须搭配synchronized使用,并且wait()会释放锁,notify()不会释放锁运行结果:。效果和synchronized+wait() 和 notify()一样一样的3、基于volatile使用共享变量也能实现,用volatile即可,原理就是多个线程共同监听同个变量,根据变量的值变化来执行对应的任务,此处volatile的作用就是让其它线程能即时感知变量值的改变运行结果:。如果你多运行几次,你会发现线程B执行的时机是随机的,但永远在计数器为0后才开始执行,也就是说计数器为0后,线程A和线程B谁抢到锁就谁执行文中所有demo都是复制即可运行,大家还是要多动手,家里有条件的都用idea跑一跑,没条件的可以用手抄总结
下载地址
用户评论