java技术存理论思考杂记
代码维修师
这个作者很懒,什么都没留下…
展开
-
多线程使用记录(备忘)
先上锁再执行任务,任务里面可能有多条子任务要执行,多个子任务的具体执行任务逻辑可以用模板方法提前定义,再用CountDownLatch记数,保证一个任务里面多个子任务执行完成后再进行下一批任务的执行。期间线程任务的失败和成功日志,可以再起一个线程池,专门记录日志,日志的数量,成功,失败等等,要用原子性方法去记录,变量修饰可采用voctor 去修饰。保证公平用ReentrantLock(true),设置公平锁,保证顺序一致性。自定义线程池:设置好几大核心参数及拒绝策略。原创 2023-12-14 14:37:35 · 400 阅读 · 1 评论 -
线程间通信学习思考记录
理解解读:如A,B,C,多线程,操作同一个变量对象,是根据这个对象的一些线程方法去操作不同线程的状态,如A先执行变量对象,操作完之后调变量对象的natifyAll()方法,是通知了其他的线程,可以执行,但是是A线程执行完后其他线程才会真唤醒执行。注:内存的可见性怎么保持,是A下次更新副本内存后会立即把副本更新到主内存,同时会把其他线程缓存的这个变量副本设置成过期,其他线程操作的时候会先去主内存拉新的内存到副本再操作。这个过程不是阻塞的,底层设计到cpu的操作。原创 2024-01-11 11:29:38 · 373 阅读 · 1 评论 -
java中mq的学习思考总结,及在开源框架中的应用
目前实际只接触过:RabbitMQ和RocketMQ两款中间件,其他的未用到不做讨论,关于整体思路理解大抵相似,故以此记录方便后续逐渐加深理解。原创 2024-01-16 16:06:38 · 405 阅读 · 1 评论