1、背景知识 1.1、Linux内核 Linux内核的主要组件如图1所示,有系统调用接口、进程管理、内存管理、虚拟文件系统、网络堆栈、设备驱动程序、硬件架构的相关代码。 其中进程管理主要控制系统进程对CPU的访问。当需要某个进程运行时,由进程调度器根据基于优先级的调度算法启动新的进程。Linux上单 ...
分类:
系统相关 时间:
2021-01-30 12:20:06
阅读次数:
0
STL是一个方便的工具,比如说set的互异性以及按顺序存储(红黑树);stack的先进后出;queue的先进先出;deque的兼而有之;map的匹配……但是,STL是一个很占时间复杂度的工具。所以在使用的时候最好是关闭同步防止卡时间。 ios::sync_with_stdio(false); 这样就 ...
分类:
其他好文 时间:
2021-01-30 12:12:34
阅读次数:
0
#include<iostream> #include<stack> #include<vector> #include<cstring> using namespace std; int n; char s1[10], s2[10]; vector<int> p; //记录顺序 stack<cha ...
分类:
其他好文 时间:
2021-01-30 11:54:10
阅读次数:
0
# linux 下 取进程占用 cpu 最高的前10个进程ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head # linux 下 取进程占用内存(MEM)最高的前10个进程ps aux|head -1;ps aux|grep -v PID|so ...
分类:
系统相关 时间:
2021-01-30 11:52:19
阅读次数:
0
引入 我们知道一个线程同一时间内只能被操作系统分配一个CPU资源, 我们可以基于多进程实现并发, 也可以基于多线程实现并发, CPU正在运行一个任务, 有两种情况下会被切去执行其它任务, 一种是该任务发生了阻塞, 另一是该任务运行时间过长或者被其他优先级更高的任务夺走CPU, 对于单线程来说, 如果 ...
分类:
编程语言 时间:
2021-01-29 12:07:49
阅读次数:
0
线程的五种状态: 新建(NEW):新创建了一个线程对象。 可运行(RUNNABLE):线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获取cpu 的使用权 。 运行(RUNNING):可运行状态(runnable)的线 ...
分类:
其他好文 时间:
2021-01-29 11:55:36
阅读次数:
0
硬盘,显卡这些硬件是可以不消耗CPU资源而自动与内存交换数据的,这也是实现异步的基本条件。所以异步是硬件式的异步,而多线程就是多个thread并发。 使用委托实现异步调用 通过Action以及Func的BeginInvoke方法可以很轻松的实现异步调用,如下: private void btnAsy ...
分类:
编程语言 时间:
2021-01-28 12:10:00
阅读次数:
0
一.总线结构和主板的构成 说起总线大家肯定不陌生,而且大家平时肯定跟它打过交道,我们在用U盘拷贝数据的时候先要把U盘通过USB接口与电脑相连才能拷贝。USB接口实际上就是一种总线,一般称这种总线为USB总线(也叫做通用串行总线)。在很久之前是没有USB总线的,那个时候每个外设各自采用自己的接口标准, ...
分类:
其他好文 时间:
2021-01-28 11:50:14
阅读次数:
0
线程在一定条件下,状态会发生变化。线程一共有以下几种状态:1、新建状态(New):新创建了一个线程对象。2、就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于“可运行线程池”中,变得可运行,只等待获取CPU的使用权, 即在就绪状态的进程除CPU之 ...
分类:
编程语言 时间:
2021-01-28 11:41:40
阅读次数:
0
Java多线程 多线程的实现1 继承Thread 重写run() start() 1.为什么要重写run()方法? 因为run()方法是用来封装线程要执行的代码的。 2.run()方法和start()方法的区别? 直接使用run()方法并不是启动多线程,使用start()才是启动线程,然后由JVM调 ...
分类:
编程语言 时间:
2021-01-27 13:58:25
阅读次数:
0