Java并发编程实战(一)简介

此系列文章是学习完《Java并发编程实战》这本书后,将所有的知识点精简,并总结。结合书中原话将概念解释的通俗易懂。

希望能够在今后使用的时候查看,更快捷的理解和查阅,也可用于面试时应对各种各样的线程于并发问题。


1.1 线程

资源利用率:在用户输入操作时,线程进入堵塞状态,如果在等待状态同时可以运行另一个程序,那么就可以提高资源利用率。

公平性:不同用户和程序对计算机上的资源有着公平的使用权。

便利性:在计算机中,应该存在多个应用程序,每个程序在执行一个任务并在必要时通信,而不是所有都有一个程序来完成。

1.2 线程的优势

线程可以有效的降低程序的开发和维护的成本。这句话的理解主要是线程可以有效对CPU的利用率。

在GUI(Graphic User Interface 图形用户界面)应用程序,线程可以提高页面的响应速度,提高资源利用率和吞吐率。

1.3 线程带来的风险

因为线程的同步性会出现很多意料之外的结果。

这里举例了对一个共享变量value++的操作。这个操作在实际操作中分三步:读取value,将value+1,将计算结果写入。

public class UnsafeSequence{
    private int value;
    public int getNext(){
        return value++;
    }
}

在计算机中同步的操作有可能在毫厘之间,所以有可能会出现错误的结果。

1.4 线程无处不在

最后介绍了Java中JVM的垃圾回收、终结操作等使用线程。

Servlet和JSP,Servlet满足被多个线程调用,Servlet实现了线程安全。

RMI (Remote Method Invocation)远程方法调用。通过RMI调用远程方法时,传递的方法参数打包成字节流,通过网络传输给JVM,然后由远程JVM拆包并传递给远程方法。远程对象的线程安全问题:正确协同在多个对象中共享的状态,以及对远程对象本身状态的访问。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值