并发 juc
铭彩色
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式:两阶段终止模式
只有在sleep是被打断才会抛出异常,所以执行监控那段被打断不会抛出异常,但会重置打断标记,然后料理后事并退出循环。原创 2024-10-14 22:56:03 · 194 阅读 · 0 评论 -
原理之Thread与Runnable的关系
■用Runnablq让任务类脱离了Thread继承体系,更灵活。方法1是把线程和任务合并在了-起,方法2是把线程和任务分开了。分析Thread的源码,理清它与Runnable的关系。脱离继承体系可以解耦合,还可避免父亲傻,儿子也跟着傻。■用Runnable更容易与线程池等高级API配合。原创 2024-10-14 22:30:28 · 123 阅读 · 0 评论 -
重点:异步与同步
■tomcat 的异步servlet也是类似的目的,让用户线程处理耗时较长的操作,避免阻塞tomcat的工作线程。多线程可以让方法执行变为异步的(即不要巴巴干等着)比如说读取磁盘文件时,假设读取操作花费了5秒。■比如在项目中,视频文件需要转换格式等操作比较费时,这时开一个新线程处理视频转换,避免阻塞主线。钟,如果没有线程调度机制,这5秒调用者什么都做不了,其代码都得暂停...■ui程序中,开线程进行其他操作,避免阻塞ui线程。■不需要等待结果返回,就能继续运行就是异步。应用之异步调用(案例1)原创 2024-10-14 22:25:29 · 236 阅读 · 0 评论 -
并发:定位死锁
idea终端中输入jps,找到对应java进程。原创 2024-10-14 22:08:54 · 245 阅读 · 0 评论 -
并行并发的概念
并行:多个事情在同一个时间点上同时发生了。并发:多个事情在同个时间段内同时发生了。原创 2024-10-14 22:21:42 · 154 阅读 · 0 评论 -
java 死锁
t2线程获得B对象锁,接下来想获取A对象的锁。两个线程之间,各自占有对方想要的资源,进而等待对方释放锁,此时双方都进入阻塞状态。情况: t1线程获得A对象锁,接下来想获取B对象的锁。有这样的情况: 一个线程需要同时获取多把锁,这时就容易发生死锁。原创 2024-10-14 21:46:32 · 148 阅读 · 0 评论
分享