您的位置:首页 > 编程语言 > Java开发

《Java Concurrency in Practice》之初识并发编程

2014-03-23 23:18 549 查看
        编写正确的程序很难,编写正确的并发程序则难上加难。

        之所心要编写并发程序,主要是因为线程能使复杂的异步代码变得更简单,从而极大地简化了复杂系统的开发。欲充分发挥多处理器系统的强大计算能力,最简单的方式就是使用线程。

        众所周知,早期的计算机不包含操作系统,从头到尾只执行一个程序,并且这个程序能访问计算机中的所有资源。

        操作系统的出现使得计算机每次能运行多个程序,并且不同的程序都在单独的进程中运行,操作系统为各个独立执行的进程分配各种资源,包括内存,文件句柄以及安全证书等,如果需要的话,在不同的进程之间可以通过一些粗粒度的通信机制来交接数据,包括:sockets,signal handlers,shared memory,semaphores,and files。

        在计算机中加入操作系统来实现多个程序的同时执行,主要是基于:Resource utilization,Fairness,Convenience。

        线程的优点:Exploiting multiple processors,Simplicity of modeling,Simplified handling of asynchronous events,More responsive user interfaces。

        线程带来的风险:Safety hazards,Liveness hazards,Performance hazards。

        线程无处不在哇!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  concurrency 并发