
多线程
文章平均质量分 75
有趣的难受
你对这个世界有多大的认知,就决定你能挣多少钱。
展开
-
多线程的基础
操作系统:会有个多个进程一个进程多个线程线程都有各自的计算器、堆栈和局部变量等属性,并且都能够访问共享的内存变量。处理器(cpu时间片)在这些线程上高速切换,让使用者感觉到这些线程在同时执行。现在操作系统基本是采用时分的形式调度运行的线程,操作系统会分出一个一个时间片。线程会分到若干的时间片。java 天生适合多线程。priority 优先级默认5 优先级越高分配的时间片数量越多线程状态:初始 运行 阻塞 等待 超时等待 终止...原创 2021-09-13 19:34:59 · 131 阅读 · 0 评论 -
Thread 和 启动线程几种方式
启动线程几种方式第一种:1】d定义Thread类的子类,并重写该类的run()方法,该方法的方法体就是线程需要完成的任务,run()方法也称为线程执行体。2】创建Thread子类的实例,也就是创建了线程对象3】启动线程,即调用线程的start()方法 注:(start ()是真正的启用了线程 run() 只是thread类的一个方法)第二种:A类实现runnable 重写run 方...原创 2019-02-15 10:20:09 · 9021 阅读 · 1 评论 -
ThreadLocal
ThreadLocal是解决线程安全问题一个很好的思路,ThreadLocal类中有一个Map,用于存储每一个线程的变量副本,Map中元素的键为线程对象,而值对应线程的变量副本,由于Key值不可重复,每一个“线程对象”对应线程的“变量副本”,而到达了线程安全。特别值得注意的地方,从性能上说,ThreadLocal并不具有绝对的又是,在并发量不是很高时,也行加锁的性能会更好。但作为一套与锁完全无关...原创 2019-02-25 16:30:23 · 154 阅读 · 0 评论 -
线程基础总结
多线程是异步的,所以千万不要把eclipse 里的代码的顺序当成线程执行的顺序,线程被调用的时机是随机的。实现线程的方式 一种是继承thread 类 另一种是实现runnable 接口thread 不支持多继承 为了支持多继承可以实现runnable 方法start()通知线程规划器此线程已经准备就绪,等待调用线程对象的run()方法 这个过程其实就是让系统安排一个时间来调用thread ...原创 2019-02-18 18:16:02 · 154 阅读 · 0 评论 -
线程池的理解
线程弊端如下:1)每次通过new Thread()创建对象性能不佳。因为频繁创建线程和销毁线程需要时间。2)线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多系统资源导致死机或oom。3)缺乏更多功能,如定时执行、定期执行、线程中断。相比new Thread,Java提供的四种线程池的好处在于:1)重用存在的线程,减少对象创建、消亡的开销,提升性能。2)可有效控制最大并...原创 2019-02-25 10:32:27 · 1020 阅读 · 0 评论 -
Future
Futurefuture 接口 都是 public abstract 方法体原创 2019-03-01 18:27:51 · 178 阅读 · 0 评论 -
如何保证线程活着
thread 现在使用几个重要方法获得当前线程名currentTherad()getName()获得当前线程idgetId()判断线程是不是活着isAlive()停止线程interrupt()只是给当前线打了一个停止的标记,并不是真的停止线程。这也就是这个线程还会继续执行完当前任务的原因...原创 2019-08-15 10:27:50 · 751 阅读 · 0 评论