JAVA并发编程从入门到精通-第一章

来源:互联网 发布:纸带打孔编程 编辑:程序博客网 时间:2024/06/05 12:42
多线程学习基础第一课20170528----------------《JAVA并发编程从入门到精通》
1 查看CPU型号
cat /proc/cpuinfo  | grep name |cut -f2 -d:|uniq -c

2 查看CPU核心数
grep 'core id' /proc/cpuinfo | sort -u |wc -l

3 查看CPU线程数
cat /proc/cpuinfo  | grep name |cut -f2 -d:|uniq -c

4 CPU时间片轮转机制(RR调度):关键点-时间片长度:时间片设置过短导致进程切换频繁降低CPU效率;过长引起短交互的请求响应变差 100ms为合理的折中。

5 进程和线程的区别:进程是程序进行资源分配的最小单位,进程间互相独立,进程内的线程共享该进程的所有资源,线程是CPU调度的最小单位,依赖进程存在。

6 并行运行:高速公路A上有8道,当车辆数目不大于8时,可以并行
    并发运行:一定要加上单位时间(否则无意义)

7 吞吐量:
  网络吞吐量:节点之间提供给应用的剩余带宽 影响因素-防火墙内网卡,以程序算法(软件)实现的效率低,纯硬件防火墙吞吐量高;
  系统吞吐量:系统单位时间内处理的信息量,以每个时间段处理的进程数度量    
 
8 高并发编程的意义和注意事项:
  意义:1充分利用CPU,2加快用户响应时间(静态页面子域名加载-程序会多开线程提升速度,,3代码模块化异步化简单化-(Android开发主线程UI和按钮分模块)
  注意:安全性、死循环、线程过多耗尽资源(内存和CPU过度切换)造成服务器死机 >>>>>解决方案:资源池

9 分布式和并行运算和并发运算的区别  

10 操作系统不一致采取不同并发机制。