1.进程与线程的定义与区别

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位[例如电脑上的不同程序]

线程是进程的一个实体,是cpu调度和分派的基本单位,它是比进程更小的能够独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源,一个线程可以创建和撤销另一个线程

区别:

一个线程只能属于一个进程,而一个进程可以拥有多个线程

线程是进程工作的最小但闻

一个进程会分配一个地址空间,进程与线程之间不共享地址空间,即不共享内存

同一个进程下的不同的多个线程,共享父进程的地址空间

线程在执行过程中,需要协作同步,不同进程的线程间要利用消息通信的办法实现同步

线程作为调度和分配的基本单位,进程作为拥有资源的基本单位

2.进程的优点与缺点

优点:

每个进程互相独立,不影响主程序的稳定性,子进程奔溃不影响其他进程

通过增加cpu,就可以扩充性能

可以尽量减少线程的加锁与解锁的影响,极大的提高了性能

缺点:

逻辑控制复杂,需要和主程序交互

多进程调度开销大

3.线程的优点与缺点

优点:

程序逻辑和控制方式简单

所有线程可以直接共享内存和变量等

线程方式消耗的总资源比进程方式少

缺点:

每个线程与主程序共用地址空间,最大内存地址受限

线程之间的同步和加锁不易控制

一个线程的崩溃可能影响到整个程序的稳定性

4.top说明

在单核cpu中load average的值为1时表示满负荷状态,同理在多核cpu中满负荷的load average的值为1*cpu核数

top中的load average:系统的运行队列的平均利用率,也可以认为是可运行进程的平均数,三个值分别表示在最后的1分钟,5分钟,15分钟的平均负载值

top命令的使用:

启动top之后:

按M根据驻留内存大小进行排序

按P根据cpu使用百分比大小进行排序

参数:

-d:设置top的显示间隔(以秒计)

-n:设置top退出前迭代的次数

-p:设置监控指定的PID

-b:设置批处理模式来启动top命令,当你想要在文件中保存输出时是很有用的

5.vmstat的使用

可以监控操作系统的进程状态,内存,虚拟内存,磁盘IO,cpu的信息。语法vmstat [-a][-n][-S unit][delay[count]]

6.netstat命令

用于显示与ip,tcp,udp和icmp协议相关的统计数据,一般用于检验本机各端口的网络连接情况

参数说明:

-n:拒绝显示别名,能显示数字的全部转化成数字

-l:仅列出有在listen(监听)的服务状态

-p:显示建立相关链接的程序名

-t:显示tcp相关选项

-u:仅显示udp相关选项

-i:显示自动匹配接口的信息

-c:每隔一个固定的时间,执行该netstat命令

最新文章

  1. hdoj 1022 Train Problem I
  2. 动态分配的顺序线性表的十五种操作—C语言实现
  3. 2015/11/9用Python写游戏,pygame入门(8):按钮和游戏结束
  4. POJ 1390 Block
  5. 发布自己的nuget包;报错source parameter was not specified
  6. Oracle安装后,服务中没有监听器怎么处理?
  7. Source Insight新建工程文件
  8. [Practical Git] Show who changed a line last with git blame
  9. 发布网站,报Access to the path is denied的解决办法
  10. 自己学习过程中关于以后有可能用到的技术的备份,微信广告滑屏组件 iSlider
  11. Linux怪哉ntfs
  12. GetEnvironmentVariable 获取常用系统变量(转)
  13. 阿里云服务器 通过JavaMail发送邮箱STMP问题( 25端口被禁用 使用SSL协议465端口 )
  14. Jsp运行环境——Tomcat
  15. java枚举类(enum) 基础知识讲解
  16. Python内置函数(14)——bytes
  17. C++ 多态的实现及原理
  18. 10款基于jquery的web前端动画特效
  19. Educational Codeforces Round 52 (Rated for Div. 2) E. Side Transmutations
  20. react native中Unable to load script from assets 'index.android.bundle'解决方案

热门文章

  1. day10-功能实现09
  2. BBS项目(二): 登录功能 首页导航条搭建 首页主体部分 个人站点页面搭建 文章分类与标签 日期归档
  3. SQLSERVER 的主键索引真的是物理有序吗?
  4. 已完成 10000 多次提交,Solon Java Framework v1.12.1 发布
  5. 宝塔SSL
  6. Go语言的赞和喷
  7. 图解 Andrew 算法求凸包
  8. DDL_操作数据库_修改&删除&使用
  9. Unity自定义Button
  10. postgresql的mysql外部数据扩展mysql_fdw编译及安装