- 内核线程的使用: static struct task_struct *tsk; 函数kthread_run 因为我的线程执行时间长,为了保证此线程不能反复创建我做如下处理: if(tsk == NULL){ tsk = kthread_run(AutoScan, NULL, "AutoScan"); }else{ kthread_stop(tsk); tsk ... 内核线程的使用: static struct task_struct *tsk; 函数kthread_run 因为我的线程执行时间长,为了保证此线程不能反复创建我做如下处理: if(tsk == NULL){ tsk = kthread_run(AutoScan, NULL, "AutoScan"); }else{ kthread_stop(tsk); tsk ...
- 文章参考:小刘源码 ConcurrentHashMap源码解析_01 成员属性、内部类、构造方法分析 1、简介 ConcurrentHashMap是HashMap的线程安全版本,内部也是使用(数组 + 链表 + 红黑树)的结构来存储元素。相比于同样线程安全的HashTable来说,效率等各方面都有极大地提高。在学习ConcurrentHashMap源码之... 文章参考:小刘源码 ConcurrentHashMap源码解析_01 成员属性、内部类、构造方法分析 1、简介 ConcurrentHashMap是HashMap的线程安全版本,内部也是使用(数组 + 链表 + 红黑树)的结构来存储元素。相比于同样线程安全的HashTable来说,效率等各方面都有极大地提高。在学习ConcurrentHashMap源码之...
- 使用 ftrace 跟踪内核 在内核层面上分析事件有很多的工具:SystemTap、ktap、Sysdig、LTTNG 等等,你也可以在网络上找到关于这些工具的大量介绍文章和资料。 而对于使用 Linux 原生机制去跟踪系统事件以及检索/分析故障信息的方面的资料却很少找的到。这就是 ftrace,它是添加到内核中的第一款跟踪工具,今天我们来看一下它都能做什么,让... 使用 ftrace 跟踪内核 在内核层面上分析事件有很多的工具:SystemTap、ktap、Sysdig、LTTNG 等等,你也可以在网络上找到关于这些工具的大量介绍文章和资料。 而对于使用 Linux 原生机制去跟踪系统事件以及检索/分析故障信息的方面的资料却很少找的到。这就是 ftrace,它是添加到内核中的第一款跟踪工具,今天我们来看一下它都能做什么,让...
- 本文来自网络,著作权归原创作者所有,不做任何商业用途。 一、四大名捕 四大名捕,最初出现于温瑞安创作的武侠小说,是朝廷中正义力量诸葛小花的四大徒弟,四人各怀绝技,分别是轻功暗器高手“无情”、内功卓越的高手“铁手”、腿功惊人的“追命”和剑法一流的“冷血”。 本文四大名捕由 linux 命令所出演: 无情:ps 出演铁手:dstat &n... 本文来自网络,著作权归原创作者所有,不做任何商业用途。 一、四大名捕 四大名捕,最初出现于温瑞安创作的武侠小说,是朝廷中正义力量诸葛小花的四大徒弟,四人各怀绝技,分别是轻功暗器高手“无情”、内功卓越的高手“铁手”、腿功惊人的“追命”和剑法一流的“冷血”。 本文四大名捕由 linux 命令所出演: 无情:ps 出演铁手:dstat &n...
- 1、ThreadLocal简介 ThreadLocal是一个全局对象,ThreadLocal是线程范围内变量共享的解决方案;ThreadLocal可以看作是一个map集合,key就是当前线程,value就是要存放的变量。eg如下: // 声明一个ThreadLocal实例 ThreadLocal threadLocal = new ThreadLocal(); //... 1、ThreadLocal简介 ThreadLocal是一个全局对象,ThreadLocal是线程范围内变量共享的解决方案;ThreadLocal可以看作是一个map集合,key就是当前线程,value就是要存放的变量。eg如下: // 声明一个ThreadLocal实例 ThreadLocal threadLocal = new ThreadLocal(); //...
- 文章目录 等待队列相关数据结构 wait_queue_head_t wait_queue_t 等待队列相关操作API介绍 init_waitqueue_head add_wait_queue remove_wait_queue 平台 内核版本 安卓版本 RK3399 Lin... 文章目录 等待队列相关数据结构 wait_queue_head_t wait_queue_t 等待队列相关操作API介绍 init_waitqueue_head add_wait_queue remove_wait_queue 平台 内核版本 安卓版本 RK3399 Lin...
- 在ubuntu系统的termial下,用apt-get install 安装软件的时候,如果在未完成下载的情况下将terminal close。此时 apt-get进程可能没有结束。结果,如果再次运行apt-get install 命令安装如今,可能会发生下面的提示: 无法获得锁 /var/lib/dpkg/l... 在ubuntu系统的termial下,用apt-get install 安装软件的时候,如果在未完成下载的情况下将terminal close。此时 apt-get进程可能没有结束。结果,如果再次运行apt-get install 命令安装如今,可能会发生下面的提示: 无法获得锁 /var/lib/dpkg/l...
- 文章目录 功能介绍类自动锁互斥锁的封装任务的封装接口类线程类封装线程槽 功能介绍 此类实现了如下功能: 在程序启动时即创建若干个线程(即线程池),当有任务需要执行时,将需要执行的任务放入任务队列,唤醒一个空闲线程进行任务的处理,处理完任务后线程继续进入睡眠 状态。 类 类名内容CAutoLock自动锁CMutex该类实现了互斥锁的封装CTask任... 文章目录 功能介绍类自动锁互斥锁的封装任务的封装接口类线程类封装线程槽 功能介绍 此类实现了如下功能: 在程序启动时即创建若干个线程(即线程池),当有任务需要执行时,将需要执行的任务放入任务队列,唤醒一个空闲线程进行任务的处理,处理完任务后线程继续进入睡眠 状态。 类 类名内容CAutoLock自动锁CMutex该类实现了互斥锁的封装CTask任...
- 多核cpu让指定的程序 在指定的cpu上运行 看的是进程类型 cpu消耗型 I/O消耗型多线程并发一个程序运行 我使用到两个cpu核心 我们可以让改程序以线程方式运行 每个核心运行一个线程多核情况下以线程方式运行效果更好一些,单核的话区别就不大了测试 io消耗型#!/bin/bashfor ((i=1;i<255;i++))do( if ping -c 1 ... 多核cpu让指定的程序 在指定的cpu上运行 看的是进程类型 cpu消耗型 I/O消耗型多线程并发一个程序运行 我使用到两个cpu核心 我们可以让改程序以线程方式运行 每个核心运行一个线程多核情况下以线程方式运行效果更好一些,单核的话区别就不大了测试 io消耗型#!/bin/bashfor ((i=1;i<255;i++))do( if ping -c 1 ...
- 如何在命令行中把光标移动到命令开头 ctrl +a 设置a.txt的属猪有读写权限,数组有写权限,其他账户无权限 chmod 760 a.txt 统计/etc/passwd一共有多少个账户 wc -l /etc/passwd 在vim中的末行模式删除文档中20-50行的内容 :20,50 d 如何查看/etc/passwd的头3行和尾3行 head -3 /e... 如何在命令行中把光标移动到命令开头 ctrl +a 设置a.txt的属猪有读写权限,数组有写权限,其他账户无权限 chmod 760 a.txt 统计/etc/passwd一共有多少个账户 wc -l /etc/passwd 在vim中的末行模式删除文档中20-50行的内容 :20,50 d 如何查看/etc/passwd的头3行和尾3行 head -3 /e...
- 平台 内核版本 安卓版本 RK3399 Linux4.4 Android7.1 文章目录 任务 任务状态 任务 任务是Linux中可以调度进程或线程的最小单元。 在用户任务中调整计划比率时 将使用nice值计算每个任务的时间片 在内部数据结构中,task_struc... 平台 内核版本 安卓版本 RK3399 Linux4.4 Android7.1 文章目录 任务 任务状态 任务 任务是Linux中可以调度进程或线程的最小单元。 在用户任务中调整计划比率时 将使用nice值计算每个任务的时间片 在内部数据结构中,task_struc...
- 开机动画的添加 修改目录: frameworks\base\cmds\bootanimation\BootAnimation.h 修改目录: frameworks\base\cmds\bootanimation\BootAnimation.cpp 1、threadLoop修改 用来显示第三个开机画面的线程的初始化工作就执行完成后接下来,就会执行这个线程的主... 开机动画的添加 修改目录: frameworks\base\cmds\bootanimation\BootAnimation.h 修改目录: frameworks\base\cmds\bootanimation\BootAnimation.cpp 1、threadLoop修改 用来显示第三个开机画面的线程的初始化工作就执行完成后接下来,就会执行这个线程的主...
- put()方法是并发HashMap源码分析的重点方法,这里涉及到并发扩容,桶位寻址等等…JDK1.8 ConcurrentHashMap结构图: 1、put方法源码解析 // 向并发Map中put一个数据 public V put(K key, V value) { return putVal(key, value, false); } // 向并发Map... put()方法是并发HashMap源码分析的重点方法,这里涉及到并发扩容,桶位寻址等等…JDK1.8 ConcurrentHashMap结构图: 1、put方法源码解析 // 向并发Map中put一个数据 public V put(K key, V value) { return putVal(key, value, false); } // 向并发Map...
- Android的启动流程 Loader层 当手机处于关机状态时,长按电源键开机,引导芯片开始从固化在Boot ROM里的预设代码开始执行,然后加载引导程序Boot Loader到RAM。 Boot Loader被加载到RAM之后开始执行,该程序主要完成检查RAM,初始化硬件参数等功能。 Kernel层 引导程序之后进入Android内核层,先启动swapp... Android的启动流程 Loader层 当手机处于关机状态时,长按电源键开机,引导芯片开始从固化在Boot ROM里的预设代码开始执行,然后加载引导程序Boot Loader到RAM。 Boot Loader被加载到RAM之后开始执行,该程序主要完成检查RAM,初始化硬件参数等功能。 Kernel层 引导程序之后进入Android内核层,先启动swapp...
- 1. 简介 AQS的全称是AbstractQueuedSynchronizer,它的定位是为Java中几乎所有的锁和同步器提供一个基础框架。 AQS是基于FIFO的队列实现的,并且内部维护了一个状态变量state,通过原子更新这个状态变量state即可以实现加锁解锁操作。 2. 主要内部类Node static final class Node { // 标... 1. 简介 AQS的全称是AbstractQueuedSynchronizer,它的定位是为Java中几乎所有的锁和同步器提供一个基础框架。 AQS是基于FIFO的队列实现的,并且内部维护了一个状态变量state,通过原子更新这个状态变量state即可以实现加锁解锁操作。 2. 主要内部类Node static final class Node { // 标...
上滑加载中
推荐直播
-
华为云师资培训——《大数据》课程
2025/08/12 周二 15:00-17:00
贺行简-DTSE开发者技术专家 吕晨-DTSE开发者技术专家
华为云师资培训直播,带您掌握产业级大数据课程体系与华为开发者空间实战能力,助力高校数字化转型!
回顾中
热门标签