第一章
并发原因
提高资源利用率,实现计算机资源的公平性,编写复杂程序的便利性
指令集是存储在CPU内部,对CPU运算进行指导和优化的硬程序
JavaRMI用于不同虚拟机之间的通信,这些虚拟机可以在不同的主机上、也可以在同一个主机上;一个虚拟机中的对象调用另一个虚拟上中的对象的方法,只不过是允许被远程调用的对象要通过一些标志加以标识。
RMI使代码能够调用其他JVM中运行的对象。当通过RMI远程调用某个远程方法时,传递给方法的参数必须被打包到一个字节流中,通过网络传输给远程JVM,然后有远程JVM拆包并传递给远程方法。
线程与进程的区别
线程会共享进程范围内的资源,例如内存句柄,文件句柄,但每个线程都有各自的程序计数器,栈以及局部变量等等。线程依赖于进程。线程可以被同时调度到多个CPU上运行
进程则是不会共享,而且进程间是相互独立的,一个崩溃不会影响到其他的
发挥多cpu优势
1利用多线程作计算
2异步编程 作IO操作
多线程会带来安全问题,性能问题(服务时间过长,响应不及时,吞吐率过低,资源消耗过高,可伸缩性较低),活跃性问题(某件正确的事情最终会发生,死锁,活锁,饥饿)。
因为多线程会导致上下文操作,这种操作会带来一定的性能损失,当线程过多时,便会有巨大的性能开销。
当线程在共享数据时必须使用同步机制。