线程共49篇
Linux获取线程状态方法(如何获取Linux线程状态)-不念博客

Linux获取线程状态方法(如何获取Linux线程状态)

在 Linux 中,可以使用 ps 命令或查看 /proc 文件系统来获取线程状态。 以下是两种方法的详细说明: 方法 1:使用 ps 命令 ps 命令用于报告当前系统的进程状态。要获取线程状态,可以使用 -L 选...
不念的头像-不念博客不念1年前
1053
java面试题:为什么JDK 15要废弃偏向锁?-不念博客

java面试题:为什么JDK 15要废弃偏向锁?

为什么JDK 15要废弃偏向锁? 要想说清楚这个问题,你得先知道什么是偏向锁,它是在哪里使用的。 这就不得不提到Synchronized的锁升级过程了。 在JDK 1.6及之前的版本中,Synchronized关键字,它...
不念的头像-不念博客不念1年前
601
多线程的优点和缺点是什么-不念博客

多线程的优点和缺点是什么

多线程的优点是提高程序的并发性,因为多线程可以同时执行多个任务,分利用多核处理器的性能,提高程序的处理能力和响应速度,所以如果任务可以进行有效的并行处理,并且对响应时间有较高的要求...
不念的头像-不念博客不念9个月前
514
Linux读写锁应用场景及注意事项-不念博客

Linux读写锁应用场景及注意事项

在多线程编程中,对共享资源的访问需要进行同步,以避免竞态条件(Race Condition)和数据不一致问题。 Linux提供了读写锁(Read-Write Lock)作为一种同步机制,允许多个线程同时读取共享资源...
不念的头像-不念博客不念11个月前
514
JAVA线程池实现原理-不念博客

JAVA线程池实现原理

1、任务在提交的时候,首先判断核心线程数是否已满,如果没有满则直接添加到工作线程执行 2、如果核心线程数满了,则判断阻塞队列是否已满,如果没有满,当前任务存入阻塞队列 3、如果阻塞队列...
不念的头像-不念博客不念1年前
493
自旋锁是什么-不念博客

自旋锁是什么

自旋锁加锁失败后,线程会忙等待,直到它拿到锁。 自旋锁是通过 CPU 提供的 CAS 函数(Compare And Swap),在「用户态」完成加锁和解锁操作,不会主动产生线程上下文切换,所以相比互斥锁来...
不念的头像-不念博客不念11个月前
486
Java面试题:不使用锁如何实现线程安全的单例?-不念博客

Java面试题:不使用锁如何实现线程安全的单例?

面试官问: 不使用锁,如何实现线程安全的单例? 如果不能使用synchronized和lock的话,想要实现单例可以通过饿汉模式、枚举、以及静态内部类的方式实现。 饿汉: 其实都是通过定义静态的...
不念的头像-不念博客不念1年前
475
死锁的条件有哪些?-不念博客

死锁的条件有哪些?

死锁只有同时满足以下四个条件才会发生: 互斥条件:互斥条件是指多个线程不能同时使用同一个资源。 持有并等待条件:持有并等待条件是指,当线程 A 已经持有了资源 1,又想申请资源 2,而资源 ...
不念的头像-不念博客不念8个月前
465