方法1:synchronized class Odd implements Runnable { @Override public void run() { while(idx < len){ synchronized (lock){ if (idx < len && (num[idx] >> 1 ...
分类:
编程语言 时间:
2020-08-24 15:13:40
阅读次数:
42
BlockingQueue 使用场景:多并发处理,线程池 阻塞队列的使用 四组API 方式 抛出异常 有返回值,不抛异常 阻塞等待 超时等待 添加 add offer put offer( , , ) 删除 remove poll take poll( , ) 检测队列首部 element peek ...
分类:
其他好文 时间:
2020-08-07 12:31:28
阅读次数:
70
网络设备接收数据的主要方法是由中断引发设备的中断处理函数,中断处理函数判断中断类型,如果为接收中断,则读取接收到的数据,分配 sk_buffer 数据结构和数据缓冲区,将接收到的数据复制到数据缓冲区,并调用 netif_rx() 函数将 sk_buffer 传递给上层协议。下面是完成这个过程的函数模 ...
分类:
系统相关 时间:
2020-07-27 09:34:12
阅读次数:
87
为什么用线程池 1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率 例如: 记创建线程消耗时间T1,执行任务消耗时间T2,销毁线程消耗时间T3 如果T1+T3>T2,那么是不是说开启一个线程来执行这个任务太不划算了! 正好,线程池缓存线程,可用已有的闲置线程来执行新 ...
分类:
编程语言 时间:
2020-07-21 09:58:27
阅读次数:
69
乘风破浪会有时,直挂云帆济沧海,高考的同学们加油! 面试官:你不是精通 Java 并发吗?从基础的 Java 线程生命周期开始讲讲吧。 好的,面试官。吧啦啦啦... 如果要说 Java 线程的生命周期的话,那我觉得就要先说说操作系统的线程生命周期 因为 JVM 是跑在操作系统上面的嘛,所以是绕不过去 ...
分类:
编程语言 时间:
2020-07-15 15:41:06
阅读次数:
64
众所周知,Oracle JDK 是 Java 语言的绝对权威,很多时候 JDK 与 Java 语言近似一个概念。但我们始终要保持实事求是的精神,敢于质疑。本文记录了一次线上troubleshoot 实战,包含问题分析、解决并提交 Oracle JDK bug 的核心过程。 ...
分类:
数据库 时间:
2020-07-13 11:42:42
阅读次数:
67
一、单例模式的使用场景 1.windows 下的任务管理器以及回收站,整个系统中维护着一个实例 2.网站的计数器,用来达到数据的同步 3.web应用配置对象的读取,使得配置文件成为共享资源 4.数据库连接池对象,主要是节省打开或者关闭连接所引起的效率损耗 5.多线程的线程池设计,使得能够控制线程,方 ...
分类:
其他好文 时间:
2020-07-12 18:45:15
阅读次数:
80
中断的简要介绍: 中断的出现是为了解决cpu和外设I/O之间速度不匹配的问题,硬件上每个外设都会连接一个设备管理器,该管理器连接中断处理器,再连cpu,如图所示 每个能够发出中断请求的硬件设备控制器都有一条称为IRQ(Interrupt ReQuest)的输出线。所有的IRQ线都与一个中断控制器的输 ...
分类:
其他好文 时间:
2020-07-08 23:13:23
阅读次数:
84
现代传感器的接口:中断驱动的ADC驱动程序 Interfacing with modern sensors: Interrupt driven ADC drivers 研究了如何编写一个阻塞的模数转换器(ADC)驱动程序和一个使用轮询技术不阻塞应用程序流的驱动程序。轮询外围设备的驱动程序效率低下,如 ...
分类:
其他好文 时间:
2020-07-07 09:44:08
阅读次数:
60
有阵子没有更新随笔了。。。 (最近时间不多,有时间了也不想写) 目前控制类的收发数据都已经调试通过了,interrupt和bulk传输还没写。今天就把xhci的中断机制总结一下吧。 XHCI中断机制 在新一代的USB主控制器的设计中, 除了寄存器操作, 对主控制器的操作主要分为三种类型: 命令, 传 ...
分类:
其他好文 时间:
2020-07-07 00:41:34
阅读次数:
79