
多线程
文章平均质量分 85
little-peter
这个作者很懒,什么都没留下…
展开
-
详讲Thread类及其常见方法
文章目录1.1Thread类的常见方法1.2Thread的常见属性1.3启动一个线程-start()start()和run()方法的区别1.4中断一个线程1.5等待一个线程-join()1.6获取当前线程引用1.7休眠当前线程Thread类是jvm用来管理线程的一个类,换句话说,也就是每个线程都有唯一的Thread对象与之关联。1.1Thread类的常见方法//简单示例Thread t1=new Thread(); Thread t2=new Thread(new Runnable()原创 2021-12-25 23:39:18 · 1035 阅读 · 0 评论 -
多线程小回顾
多线程的价值(1)发挥多核CPU的优势多线程可以真正发挥多核Cpu的优势,采用多线程的方式同时去完成·几件事而互不干扰,达到充分利用Cpu的目的。(2)防止阻塞从程序运行效率来看,单核CPU会由于运行多线程导致上下文的切换,而降低程序整体效率。但是单核CPU还是要用多线程,目的就是为了防止阻塞。比如现在是单核CPU单线程,进行数据读取,对端迟迟不返回且未设置超时时间,那么整个程序在数据返回之前就停止运行了。多线程可以防止这个问题,一条线程的代码执行读取数据阻塞,也不会影响其他任务执行。(3)效..原创 2021-08-14 23:01:01 · 147 阅读 · 1 评论 -
ThreadLocal基础及高级使用
解决线程安全问题:ThreadLocal ThreadLocal简介:ThreadLocal从字面上来理解是线程本地变量的意思,也就是说它是线程中的私有变量,每个线程只能使用自己的变量。以之前线程池格式化时间为例,当线程池中有 10 个线程时,SimpleDateFormat 会存入 ThreadLocal 中,它也只会创建 10 个对象,即使要执行 1000 次时间格式化任务,依然只会新建 10 个 SimpleDateFormat 对象,每个线程调用自己的 ThreadLocal 变量。..原创 2021-05-30 00:58:59 · 652 阅读 · 2 评论 -
ThreadLocal还不会?来看看!
ThreadLocal设计是为了解决并发时,线程共享变量的问题,由于过度设计,如弱引用和哈希碰撞,导致其令人难以理解和使用成本高等问题。除此之外,使用稍有不慎还会造成脏数据和内存泄漏,共享变量更新等问题。但即便如此,ThreadLocal依然有自己的适用场景,以及无可取代的价值,比如接下来要介绍的这两种使用场景,除了 ThreadLocal 之外,还真没有合适的替代方案。使用场景1:本地变量我们以多线程格式化时间为例,来演示 ThreadLocal 的价值和作用,当我们在多个线程中格式化时间...原创 2021-05-29 18:24:45 · 121 阅读 · 0 评论