![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 93
小钟77
talk is cheap, show me your code.
展开
-
(面试必看!)一些和多线程相关的面试考点
本篇文章总结了多线程中面试频率比较高的考点,内容可能比较琐碎,但是如果能够坚持看完,注意总结积累,相信对面试会有很大帮助。多线程内容较多,用一篇文章写完可能篇幅过长,我打算用两篇文章来总结,本篇主要写的是多线程中辅助加锁的数据结构和指令,下一篇主要讲的是锁策略。原创 2024-07-28 22:05:31 · 1004 阅读 · 0 评论 -
死锁的产生和避免(一个和死锁相关的趣事)
死锁是指各并发进程(线程)彼此互相等待对方所拥有的资源,且这些并发进程(线程)在得到对方的资源之前不会释放自己所拥有的资源,从而造成大家都想得到资源而又都得不到资源,各并发进程(线程)不能继续向前推进的状态。死锁问题是多进程(线程)并发执行时的一个难点,需要通过合理的资源分配策略、死锁预防和避免算法以及死锁检测和解除机制来有效解决。在实际应用中,需要根据具体场景和需求选择合适的方法来处理死锁问题。原创 2024-07-27 17:07:50 · 910 阅读 · 0 评论 -
线程池的认识与使用
线程池(Thread Pool)是一种基于池化技术设计的并发框架,用于管理和复用线程资源。它预先创建一定数量的线程(正式员工),并将这些线程放入一个“池”中(公司),当有任务(快递)需要执行时,线程池会从中取出一个空闲的线程来执行该任务,而不是每次都创建一个新的线程,当程序中的任务很多,线程池中的线程不足以完成所有任务时,线程池会创建一些临时线程来应对这一情况。这种方式可以显著提高程序的执行效率和性能,同时减少资源消耗。原创 2024-07-27 14:50:33 · 845 阅读 · 0 评论 -
阻塞队列的认识
阻塞队列通常用于生产者-消费者问题,其中生产者线程向队列中添加元素,而消费者线程从队列中移除元素。原创 2024-07-26 20:21:20 · 897 阅读 · 1 评论 -
线程安全(干货满满!)
线程安全(Thread safety)是多线程编程中的一个重要概念,它指的是在多线程环境下,一个程序或者代码段在并发访问时,能够正确地保持其预期的行为和状态,而不会出现意外的错误或者不一致的结果。具体来说,当多个线程同时访问共享资源(如共享变量、共享数据结构、共享文件等)时,线程安全的编程技术和方法旨在解决并发访问问题,确保程序的正确性和稳定性。原创 2024-07-20 23:56:01 · 967 阅读 · 0 评论 -
Thread类基本用法及线程的基本操作
使用start()方法时,会启动一个新的线程来执行run()方法中的代码。这意呀着run()方法中的代码会在新的线程中并发执行,不会阻塞调用start()方法的线程。这使得程序能够同时执行多个任务,提高了程序的执行效率。直接调用run()方法:直接调用run()方法时,并不会启动新的线程,而是直接在当前线程中顺序执行run()方法中的代码。这意味着run()方法中的代码执行会阻塞调用它的线程,直到run()方法执行完毕。这与多线程的初衷相悖,因为并没有实现真正的并发执行。原创 2024-07-17 23:30:09 · 552 阅读 · 0 评论 -
多线程开篇
线程的并发执行是指在一个程序中,多个线程可以同时或几乎同时地执行,以充分利用多核处理器的计算能力或提高程序的响应性和吞吐量。这种并发执行并不是指多个线程真正地在同一时刻同时进行,因为在实际的物理硬件上,一个CPU核心在同一时刻只能执行一个线程的指令。但是,通过操作系统的调度机制,可以使得多个线程在多个CPU核心上并行执行,或者在单个CPU核心上通过时间片轮转的方式轮流执行,从而实现了并发执行的效果。原创 2024-07-16 22:40:30 · 606 阅读 · 0 评论