多线程相关
文章平均质量分 76
跟多线程相关的一些操作
radient-lsr
这个作者很懒,什么都没留下…
展开
-
线程的五种状态
在可执行状态下,如果调用 sleep()、 suspend()、 wait()等方法,线程都将进入堵塞状态。**堵塞时,线程不能进入排队队列,只有当引起堵塞的原因被消除后,线程转入就绪状态。**此时,自动调用该线程对象的 run()方法。: 在程序中用构造方法(new操作符)创建一个新线程时,如new Thread®,该线程就是创建状态,此时它已经有了相应的内存空间和其它资源,但是还没有开始执行。: 线程调用 stop()方法、destory()方法或 run()方法执行结束后,线程即处于死亡状态。原创 2023-07-20 00:40:29 · 37 阅读 · 0 评论 -
线程的创建方式及自定义线程池
线程的创建及线程池的自定义和概念原创 2023-07-18 18:24:08 · 55 阅读 · 1 评论 -
Synchronized锁大全
synchronized实现同步的基础:Java中的每一个对象都可以作为锁具体表现为以下三种形式:对于普通同步方法,锁是当前实例对象 对于静态同步方法,锁是当前类的Class对象 对于同步方法块,锁是Synchonized括号里面配置的对象 示例一 示例二 示例三 理解同步方法和同步代码块 首先我们来理解同步方法:不同线程中的同一对象在同一时间只能执行一个同步方法。不同线程中的不同对象在同一时间可以执行同个同步方法。接下来再来理解同步块:多个线程同一时间只能有一条进入同步块执行其中代码原创 2023-07-18 22:14:46 · 106 阅读 · 1 评论 -
集合安全---并发修改异常
报出ConcurrentModificationException问题。或者 list 在多线程情况下。,就会产生并发修改异常。什么是并发修改异常?原创 2023-07-20 11:50:44 · 319 阅读 · 0 评论 -
Volatile关键字的浅谈
这个代码在单线程中运行是没有任何问题的,但是在多线程中运行就会有问题了。在多核CPU中,每条线程可能运行于不同的CPU中,因此每个线程运行时有自己的高速缓存(对单核CPU来说,其实也会出现这种问题,只不过是以线程调度的形式来分别执行的)。 本文我们以多核CPU为例。比如同时有2个线程执行这段代码,假如初始时i的值为0,那么我们希望两个线程执行完之后i的值变为2。但是事实会是这样吗?转载 2023-07-19 11:49:45 · 19 阅读 · 0 评论 -
线程唤醒---虚假唤醒---定制化通信
当一个线程进行wait沉睡之后,再次被唤醒的位置,其实就是在原位置,并不会说直接让它退出到方法外面的。上面都是直接随机唤醒的,那我如果想指定某一个线程被唤醒,这个应该怎么实现呢?虚假唤醒这个问题我们应该怎么去解决呢?原创 2023-07-20 11:48:06 · 22 阅读 · 0 评论