进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源. 一个线程可以创建和撤销另一个线程;     同一个进程中的多个线程之间可以并发执行. 进程在执行过程中拥有独立的内存单元,而该进程的多个线程共享…
一.paramiko模块 他是什么东西? paramiko模块是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 先来个实例: import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.connect(hostna…
一,在centos linux 上查看进程占用cpu过高 top  shift+h 查看哪个进程程消耗最高     二,查看JAVA进程中哪个线程消耗最高   2.1 导出java运行的线程信息   jstack 进程id(jps查看) jstack 进程id > ps.txt jstack -l 进程id (窗口打印)     //另外还有一种方式   如果启动方式如下: nohup java -classpath conf/:my.jar com.tank.manClass>./log.o…
下面是详细步骤: 1. 首先确定进程的 ID ,可以使用 jps -v 或者 top 命令直接查看 2. 查看该进程中哪个线程占用大量 CPU,执行 top -H -p [PID] 结果如下: 可以发现编号为 350xx 的共有 9 个线程占用了 100% 的 CPU,好,接下来咱们随便取一个线程 ID ,假设我们想看编号为 35053 这个线程. 首先将 35053 转成 16 进制是 88ED (可以用开源中国在线工具转换) 3. 接下来我们将进程中的所有线程输出到一个文件中,执行:jsta…
下面是详细步骤: 1. 首先确定进程的 ID ,可以使用 jps -v 或者 top 命令直接查看 2. 查看该进程中哪个线程占用大量 CPU,执行 top -H -p [PID] 结果如下: 可以发现编号为 350xx 的共有 9 个线程占用了 100% 的 CPU,好,接下来咱们随便取一个线程 ID ,假设我们想看编号为 35053 这个线程. 首先将 35053 转成 16 进制是 88ED (可以用开源中国在线工具转换) 3. 接下来我们将进程中的所有线程输出到一个文件中,执行:jsta…
一般情况下,Activity和Service在同一个包名内,并且没有设定属性android:process=":remote",两者在同一个进程中. 因为一个进程只有一个UI线程,所以两者就在同一个线程里. 如果设置android:process=":remote",就属于跨进程访问,就属于不同的进程了. 验证方法: 在Activiyt和Service的OnCreate中打印进程的信息 如Log.i("Tag",Thread.curentThre…
分两种情况,如果是本地线程,肯定是同一个进程中的, 如果是远程服务,那么activity和service将在不同的进程中的 ----- 非远程服务,和Activity属于同一个进程和线程:而远程服务和Activity分别运行在不同的进程中…
在Linux上显示某个进程的线程的几种方式. 方法一:PS 在ps命令中,“-T”选项可以开启线程查看.下面的命令列出了由进程号为<pid>的进程创建的所有线程. 1.$ ps -T -p <pid> 方法二: Top top命令可以实时显示各个线程情况.要在top输出中开启线程查看,请调用top命令的“-H”选项,该选项会列出所有Linux线程.在top运行时,你也可以通过按“H”键将线程查看模式切换为开或关. 1.$ top -H 要让top输出某个特定进程<pid>…
一:自定义线程池的实现 前戏: 在进行自定义线程池前,先了解下Queue队列 队列中可以存放基础数据类型,也可以存放类,对象等特殊数据类型 from queue import Queue class T: def __init__(self,num): self.num = num def printf(self): print(self.num,id(self.num)) if __name__ == "__main__": queue = Queue() num = queue.p…
知识点一: 进程:资源单位 线程:才是CPU的执行单位 进程的运行: 开一个进程就意味着开一个内存空间,存数据用,产生的数据往里面丢 线程的运行: 代码的运行过程就相当于运行了一个线程 辅助理解:一座工厂(操作系统)->没造一个车间(启动一个进程)->每个车间的流水线(线程) 知识点二:开启线程的2种方式 from threading import Thread #方式一:(引用系统中thread类) def task(name): print('%s is running') print('…