
多线程
小狮子程序开发
这个作者很懒,什么都没留下…
展开
-
java执行linux命令的形式导出图片压缩包(后台导出,单线程运行)
@GetMapping("exportTask") public @ResponseBody RestResult exportTask(String taskId) { Map<String, Object> hashMap = new HashMap<>(); Task task = taskService.getById(taskId); //TODO 需要在这里知道最后用户的上传时间,如果最后时间小于生成时间,.原创 2021-11-25 15:51:28 · 813 阅读 · 0 评论 -
多线程编程学习——04线程的通讯机制
线程的通讯机制为什么要线程通讯线程通讯方式休眠唤醒方式Oject的wait、notify、notifyAllCondition的await、signal、signalAll相关面试题sleep和wait区别wait和notify区别为什么要线程通讯多个线程并发执行时,在默认情况下CPU是随机切换线程的,有时我们希望CPU按我们的规律执行线程,此时就需要线程之间协调通信。线程通讯方式线程间通讯常用方式如下:休眠唤醒方式: Object的wait、notify、notifyAllCondit原创 2020-09-30 16:39:13 · 364 阅读 · 0 评论 -
Java多线程编程学习——03线程死锁
线程安全问题什么是死锁?死锁产生的四个必要条件互斥条件不可剥夺条件请求与保持条件循环与等待条件死锁处理死锁预防破坏“互斥”条件破坏“请求与保持”条件破坏“不可剥夺”条件破坏“循环与等待”条件死锁避免有序资源分配法银行家算法顺序加锁限时加锁死锁检测什么是死锁?多个线程抢占同一资源,并请求锁定对方资源,造成恶性循环且无外力情况下无法执行下去的情况叫做死锁。死锁产生的四个必要条件互斥条件线程(进程)要求对所分配的资源具有排他性,即在一段时间内某个资源被当前线程(进程)所占有,其他线程(进程)若想原创 2020-09-28 14:47:54 · 232 阅读 · 0 评论 -
Java多线程编程学习——02线程安全问题
线程安全问题什么是线程安全线程安全问题根本原因问题解决-线程同步同步代码块(synchronized)什么是线程安全如果有多个线程同时运行同一个实现了Runnable接口的类,程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的;反之,则是线程不安全的。线程安全问题根本原因多个线程同一时刻操作共享的数据,会导致该共享数据出现与预期的值不符的情况,这样便会引发线程安全问题。问题解决-线程同步要解决线程安全问题,只要在某个线程修改共享资源的原创 2020-09-28 12:16:10 · 147 阅读 · 0 评论 -
Java多线程编程学习——01线程的创建方式和生命周期
Java多线程编程什么是并发与并行?什么是进程、线程?线程的创建什么是FutureTask?实现接口和继承Thread类比较Runnable和Callable接口比较线程生命周期什么是并发与并行?并行:指两个或多个事件在同一时刻发生(同时发生)。并发:指两个或多个事件在同一个时间段内发生。什么是进程、线程?进程是系统中正在运行的一个程序,程序一旦运行就是进程。进程可以看成程序执行的一个实例。进程是系统资源分配的独立实体,每个进程都拥有独立的地址空间。一个进程无法访问另一个进程的变量和原创 2020-09-27 22:50:17 · 157 阅读 · 0 评论 -
并发编程面试题(2020最新版)——修正版
一、基础知识1 并发编程的优缺点1.1 为什么要使用并发编程(并发编程的优点)充分利用多核CPU的计算能力方便进行业务拆分在百万级千万级的并发量要求下,多线程并发编程是开发高并发系统的基础,面对复杂业务模型,并行程序会比串行程序更符合业务需求1.2 并发编程有什么缺点并发编程并不总是能提高程序运行速度的,可能也会遇到很多问题,比如:内存泄漏、上下文切换、线程安全、死锁等问题。2 并发编程三要素是什么?出现线程安全问题的原因是什么?如何保证多线程的运行安全?2.1 并发编程三要素(线程转载 2020-10-02 01:26:46 · 1477 阅读 · 0 评论