随笔分类 -  线程

摘要:在单线程环境下的解决办法 在多线程环境下的解决方法 List myList = new CopyOnWriteArrayList(); myList.add( "1"); myList.add( "2"); myList.add( "3"); myList.add( "4"); myList.add 阅读全文
posted @ 2018-11-27 15:19 wdmiye 阅读(270) 评论(0) 推荐(0)
摘要:Synchronized修饰一个方法很简单,就是在方法的前面加synchronized,synchronized修饰方法和修饰一个代码块类似,只是作用范围不一样,修饰代码块是大括号括起来的范围,而修饰方法范围是整个函数 修饰一个方法 例如: 方法一 方法二 写法一修饰的是一个方法,写法二修饰的是一个 阅读全文
posted @ 2018-11-19 14:15 wdmiye 阅读(486) 评论(0) 推荐(0)
摘要:乐观锁 总是认为不会产生并发问题,每次去取数据的时候总认为不会有其他线程对数据进行修改,因此不会上锁,但是在更新时会判断其他线程在这之前有没有对数据进行修改,一般会使用版本号机制或CAS操作实现。 version方式:一般是在数据表中加上一个数据版本号version字段,表示数据被修改的次数,当数据 阅读全文
posted @ 2018-11-19 13:05 wdmiye 阅读(209) 评论(0) 推荐(0)
摘要:然后定义一个component组件,然后线程的引用就十分简单了,只要把这个线程扔进这个线程池子就行了 最后在你所需要的地方就可以调用这个组件了,不论是service还是controller都行 阅读全文
posted @ 2018-10-29 15:20 wdmiye 阅读(1580) 评论(0) 推荐(0)
摘要:Spring通过任务执行器(TaskExecutor)来实现多线程和并发编程。使用ThreadPoolTaskExecutor可实现一个基于线程池的TaskExecutor。而实际开发中任务一般是非阻碍的,即异步的,所以我们要在配置类中通过@EnableAsync 开启对异步任务的支持,并通过实际执 阅读全文
posted @ 2018-10-29 14:44 wdmiye 阅读(1948) 评论(0) 推荐(0)
摘要:转https://www.cnblogs.com/lixuwu/p/7979480.html 阅读目录 使用 转https://www.cnblogs.com/lixuwu/p/7979480.html 阅读目录 使用 背景:ForkJoinPool的优势在于,可以充分利用多cpu,多核cpu的优势 阅读全文
posted @ 2018-07-15 12:10 wdmiye 阅读(564) 评论(0) 推荐(0)
摘要:多线程的创建及启动 一、继承Thread类创建线程子类 1.在这子类中重写run方法,在run方法内写线程任务代码 2.创建该子类实例,即是创建了一个线程实例 3.调用该实例的start方法来启动该线程 二、建一个类去实现Runnable接口 1.该类去实现接口的run方法,run方法内写线程任务代 阅读全文
posted @ 2018-07-15 11:24 wdmiye 阅读(234) 评论(0) 推荐(0)