多线程编程书籍
❶ 有什么多线程编程的书推荐
java并发编程实战 (豆瓣) (java并发的圣经)
多处理器编程的艺术 (豆瓣) (并发编程的各种算法,java实现,有点难度)
并发的艺术 (豆瓣) (多核处理器的共享内存模型中的各种算法)
Java虚拟机并发编程 (豆瓣) (jvm平台上各种语言的并发比较,如java,scala,clojure)
Java并发编程的艺术 (阿里专家方腾飞写的一本书)
Java 7并发编程实战手册 (豆瓣) (java中的并发编程实践,属于API工具书,指南)
Java多线程编程实战指南(设计模式篇) (豆瓣)
Java多线程编程核心技术 (豆瓣)
Java并发编程:核心方法与框架
实战Java高并发程序设计
七周七并发模型 (豆瓣) (七种并发模型的比较)
Go并发编程实战 (豆瓣)
C#并发编程经典实例 (豆瓣)
C#多线程编程实战 (豆瓣)
❷ 推荐几本非常棒的Java多线程编程书籍
Unix_Linux_多线程编程.pdf或者在网络或google上搜索“unix多线程编程”或“multi-threadprogramming",会有很多参考资料的。基本上了解线程创建、线程执行的function、及线程之间信息交互(全局变量设置)等就可以了,相比多进程之间通信必须要用到socket/sharedmemory等等还是简单一些的。如果编写大型一点的程序,建议你不要频繁的创建和删除线程,建个threadpool更高效也运行更稳定一点,网上搜搜threadpool相关的资料研究一下吧。
❸ 学IT要买什么书
首先,我觉得你需要明确自己的发展方向,你想学习的课程起码串联起来是个完整的体系,以后能够帮助你就业
书籍整理如下:
C++开发
1.《C++ Primer》:全面学习C++的必备书籍
2.《Thinking in C++》:了解C++背后的一些机制
3.《深度探索C++对象模型》:深入了解C++,也是学习COM的必经之路
Windows平台
入门
1.《Windows程序设计》:这本书主要讲的是Windows API的使用,是Windows编程入门书籍。上册涉及到的知识基本上就够用了,时间不充裕的话阅读上册即可。
2.《Win32多线程程序设计》:Windows下多线程编程必备
3.《Windows核心编程》:Window平台基础知识:消息机制,内存管理,多线程,动态链接库等
4.《Windows网络编程》:介绍Windows下各种网络协议的开发和并发处理模型。
进阶
1.《深入浅出MFC》:Windows下编程,MFC虽然有些过时,但其机制还是有学习的价值。重点学习书中提到的MFC 6大机制
2.《COM本质论》:COM是Windows构建用户态的重要技术之一,Windows开发必修课,本书对COM的设计动机作了深入阐述
3.《深入解析ATL》:ATL全名Active Templete Library,是用C++的模版封装了COM,这本书主要讲的是对源码分析
4.《WTL White Paper》:WTL源自微软,基于ATL的一套开源模版库,主要用于界面编程和工具类的使用
5.《代码大全》:这边书主要讲的是工程编码规范
高级
1.《深入解析Windows操作系统》:Windows大牛书籍,讲的主要是Windows操作系统的内核原理
调试技术
1.《软件调试》
2.《Windows高级调试》
3.《windows用户态程序高效排错》
Linux平台
Linux内核
1.《Linux Kernel Development》/《Linux内核设计与实现》:Robert Love的着作,不厚的一本书,深入浅出地将Linux内核娓娓道来
Linux使用和Shell编程
1.《sed & awk》/《sed与awk》:sed与awk都是Linux下常用的日志分析利器
Linux编程
1.《Beginning Linux Programming》/《Linux程序设计》:老牌的Linux编程入门书
2.《Advanced Programming in the Unix Environment》/《Unix环境高级编程》:对Unix编程环境做了细致的总结,涵盖了进程间通讯、网络通讯、文件系统等各方面的知识
网络编程
1.《TCP/IP Illustrated, Volume I》/《TCP/IP详解,卷一》:对理解TCP/IP协议的设计理念和协议细节有显着的帮助。
2.《Unix Network Programming》/《Unix网络编程》,卷一、卷二:网络编程方面难以逾越的着作,事无巨细、深入浅出,强烈推荐
对这些书目抱有100%的信心,全部掌握,融会贯通,即可打通奇经八脉,天下无双。
对了,你没有基础最好从c与c++基础开始。找些基础书开始看。
[C语言入门经典(第四版)].(美)霍顿.扫描版,《C++ Primer》就不错。
❹ Java有哪些相关书籍
Concurrency Practice in Java
又一部 约书亚·布洛克 大神的经典之作,当然本书的另一位主作者为 Doug Lea(影响两次Java历史上的大变革的大神)。这本书几乎就是Java并发和多线程编程方面的权威,同时也是核心Java开发人员必读的一本书。本书的强大主要表现在
Head First Java
Head First Java是所有编程或者Java初学者最适合的书籍,我很喜欢轻松和寓教于乐的Head First风格,这应该是最有意思的关于Java的书
Head First 设计模式
Head First设计模式又是一部Head First系列的书籍。作者为Kathy Sierra及其团队。当我在2006年开始读这本书的时候,我对设计模式并不是很了解。设计模式解决什么问题,怎么解决问题,如何使用设计模式,设计模式有什么好处,这些问题我几乎都无法回答出来。
❺ Java书籍推荐有哪些
Java的好书推荐
第一部分:Java语言篇
1.《Java编程规范》 适合对象:初级、中级
介绍:这本书的作者是被誉为Java之父的James Gosling,入门者推荐阅读,对基础的讲解很不错。
2.《Java编程思想》 适合对象:初级、中级
介绍:豆瓣给出了9.1的评分,全球程序员广泛赞誉。有人说这本书不适合初学者,不过小编认为作者并没有对读者已有的知识经验有过多要求,只是要求读者需要知道基本的程序语言。作者以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念,需要花时间细细研读。
3.《Java核心技术:卷I基础知识》 适合对象:初级、中级
介绍:官方机构图书,备一本总是没错的。这本书比较全面也通俗易懂。可以当字典的功能来用,学习入门必备。
4.《Java数据结构和算法》 适合对象:初级、中级、高级
介绍:这本书目前基本断货,足以说明抢手程度。作者主要使用Java语言描述了我们常用的数据结构,值得一看。
5.《Java与模式》 适合对象:中级、高级
介绍:难得一见的国人写的Java好书。主要讲解设计原则以及最为常见的设计模式的实用教材。这本书出现的比较早,是初级到中高级必读的图书之一。
6.《SCJP学习指南》 适合对象:初级、中级
介绍:官方考试的必备图书,对检验自己的Java学习情况很有帮助。这本书特别适合学生阅读,这本书理解透了,找工作面试Java题目不会有任何问题。一些工作多年的工程师都会在里边遇到一些不会做的题目。
第二部分:中级进阶篇
1.《重构:改善既有代码的设计》 适合对象:中级、高级
介绍:清晰揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以及改善。大师的杰作,让你明白软件是一步步改进的,不是一蹴而就的。
2.《XML入门经典》 适合对象:初级、中级、高级
介绍:很多人觉得没必要买XML书籍,不过我还是觉得推荐一本给你作为工具书,而且看本书可以使得你对XML方方面面有个了解。里面不少东西还是用到的。
3.《jQuery基础教程》 适合对象:初级、中级、高级
介绍:从这个开始学习jQuery才是根本,不然以后遇到的很多奇怪问题不知所以然。jQuery个人感觉已经成为目前的javascript标准库了,插件无数,大大简化了前端工作。
4.《JavaScript权威指南》 适合对象:初级、中级、高级
介绍:一本从全新视角和层次来介绍JavaScript的参考书,填补了市场的空白。是学习js的必备参考工具书之一。
5.《代码整洁之道》 适合对象:中级、高级
介绍:讲述了一系列行之有效的整洁代码操作实践。软件工程的理想编码是无数人编出来的代码像一个人写的,这本书当作规范就不错。
第三部分:高级篇
1.《Enterprise JavaBeans 3.0中文版》适合对象:中级,高级
介绍:EJB技术在大型系统中使用,主要有银行等金融机构。是开发分布式程序的选项之一,不过我不喜欢,其实银行使用的也不怎么的。结合JavaEE容器使用,开源的有JBoss,商用的有IBM和Oracle支持。
2.《Java并发编程实践》 适合对象:中级、高级
介绍:这本书名为《Java并发编程实践》有些抹杀了它的价值,其中并非只讲述了Java的多线程设施,对一般的并发编程的rationale也有相当透彻的阐述。市面上并发编程的书比较少,这一本推荐阅读。
3.《Hadoop权威指南》 适合对象:中级、高级
介绍:云计算必备图书。作为分布式计算的工具,Hadoop目前可以说是市场上唯一成熟的产品,而且大家也都向其看齐。而起云计算炙手可热,你搞明白这本书就大概明白了什么是云以及怎么做云。
4.《Java消息服务》 适合对象:中级、高级
介绍:深入浅出地讲解了JMS1.1规范的底层技术、Java类和接口、编程模型及其不同实现等Java消息服务(JMS)和消息传送机制关键技术。讲解简单明了,偏向于如何使用以及设计的一些原则。排版相当不错。
来源网络老炮java 整理 侵权联系
❻ 我想学习编程需要购买那些书籍
书籍整理如下:
C++开发
1.《C++ Primer》:全面学习C++的必备书籍
2.《Thinking in C++》:了解C++背后的一些机制
3.《深度探索C++对象模型》:深入了解C++,也是学习COM的必经之路
Windows平台
入门
1.《Windows程序设计》:这本书主要讲的是Windows API的使用,是Windows编程入门书籍。上册涉及到的知识基本上就够用了,时间不充裕的话阅读上册即可。
2.《Win32多线程程序设计》:Windows下多线程编程必备
3.《Windows核心编程》:Window平台基础知识:消息机制,内存管理,多线程,动态链接库等
4.《Windows网络编程》:介绍Windows下各种网络协议的开发和并发处理模型。
进阶
1.《深入浅出MFC》:Windows下编程,MFC虽然有些过时,但其机制还是有学习的价值。重点学习书中提到的MFC 6大机制
2.《COM本质论》:COM是Windows构建用户态的重要技术之一,Windows开发必修课,本书对COM的设计动机作了深入阐述
3.《深入解析ATL》:ATL全名Active Templete Library,是用C++的模版封装了COM,这本书主要讲的是对源码分析
4.《WTL White Paper》:WTL源自微软,基于ATL的一套开源模版库,主要用于界面编程和工具类的使用
5.《代码大全》:这边书主要讲的是工程编码规范
高级
1.《深入解析Windows操作系统》:Windows大牛书籍,讲的主要是Windows操作系统的内核原理
调试技术
1.《软件调试》
2.《Windows高级调试》
3.《windows用户态程序高效排错》
Linux平台
Linux内核
1.《Linux Kernel Development》/《Linux内核设计与实现》:Robert Love的着作,不厚的一本书,深入浅出地将Linux内核娓娓道来
Linux使用和Shell编程
1.《sed & awk》/《sed与awk》:sed与awk都是Linux下常用的日志分析利器
Linux编程
1.《Beginning Linux Programming》/《Linux程序设计》:老牌的Linux编程入门书
2.《Advanced Programming in the Unix Environment》/《Unix环境高级编程》:对Unix编程环境做了细致的总结,涵盖了进程间通讯、网络通讯、文件系统等各方面的知识
网络编程
1.《TCP/IP Illustrated, Volume I》/《TCP/IP详解,卷一》:对理解TCP/IP协议的设计理念和协议细节有显着的帮助。
2.《Unix Network Programming》/《Unix网络编程》,卷一、卷二:网络编程方面难以逾越的着作,事无巨细、深入浅出,强烈推荐
对这些书目抱有100%的信心,全部掌握,融会贯通,即可打通奇经八脉,天下无双。
对了,你没有基础最好从c与c++基础开始。找些基础书开始看。
[C语言入门经典(第四版)].(美)霍顿.扫描版,《C++ Primer》就不错。
❼ 有什么书籍讲多线程编程中的各种锁
Java的学习书籍:入门级 1、《Java编程思想》对Java基础语法,基本类库有很清楚的讲解。 2、《Agile Java》中文版以单元测试和TDD贯通全书,在讲解基础语法的同时,潜移默化的影响你的编程思想走形敏捷化。进阶级 1、《重构 改善既有代码的设计》价值很大,可以和自己所掌握的技术相互验证。 2、《测试驱动开发 By Example》通过实例,培养你的TDD思路。
❽ 有没有学习java多线程的书籍或者开源项目
Java的学习书籍:
入门级
1、《Java编程思想》
对Java基础语法,基本类库有很清楚的讲解。
2、《Agile Java》中文版
以单元测试和TDD贯通全书,在讲解基础语法的同时,潜移默化的影响你的编程思想走形敏捷化。
进阶级
1、《重构 改善既有代码的设计》
价值很大,可以和自己所掌握的技术相互验证。
2、《测试驱动开发 By Example》
通过实例,培养你的TDD思路。
❾ 求推荐windows下的多线程编程的入门书籍。
多线程编程不需要书籍,当然如果你想了解到线程同步,信号量,自旋锁这个层次另当别论。
想要多线程编程,掌握一个API:CreateThread,然后没了,具体用法,搜索一下,各大博客均有详细教程。
如果你想深层次研究,那就比较麻烦了,因为等你里里外外完全了解了,你所掌握的知识量可以写一个操作系统内核了,这里推荐《Modern Operating System》fourth edition,第二章进程与线程有你所需要的答案,同时第六章deadlock于进程线程编程而言也非常重要。下面附上这两章节目录:
2.1 PROCESSES 85
2.1.1 The Process Model 86
2.1.2 Process Creation 88
2.1.3 Process Termination 90
2.1.4 Process Hierarchies 91
2.1.5 Process States 92
2.1.6 Implementation of Processes 94
2.1.7 Modeling Multiprogramming 95
2.2 THREADS 97
2.2.1 Thread Usage 97
2.2.2 The Classical Thread Model 102
2.2.3 POSIX Threads 106
2.2.4 Implementing Threads in User Space 108
2.2.5 Implementing Threads in the Kernel 111
2.2.6 Hybrid Implementations 112
2.2.7 Scheler Activations 113
2.2.8 Pop-Up Threads 114
2.2.9 Making Single-Threaded Code Multithreaded 115
2.3 INTERPROCESS COMMUNICATION 119
2.3.1 Race Conditions 119
2.3.2 Critical Regions 121
2.3.3 Mutual Exclusion with Busy Waiting 121
2.3.4 Sleep and Wakeup 127
2.3.5 Semaphores 130
2.3.6 Mutexes 132
2.3.7 Monitors 137
2.3.8 Message Passing 144
2.3.9 Barriers 146
2.3.10 Avoiding Locks: Read-Copy-Update 148
2.4 SCHEDULING 148
2.4.1 Introction to Scheling 149
2.4.2 Scheling in Batch Systems 156
2.4.3 Scheling in Interactive Systems 158
2.4.4 Scheling in Real-Time Systems 164
2.4.5 Policy Versus Mechanism 165
2.4.6 Thread Scheling 165
2.5 CLASSICAL IPC PROBLEMS 167
2.5.1 The Dining Philosophers Problem 167
2.5.2 The Readers and Writers Problem 169
2.6 RESEARCH ON PROCESSES AND THREADS 172
6.1 RESOURCES 436
6.1.1 Preemptable and Nonpreemptable Resources 436
6.1.2 Resource Acquisition 437
6.2 INTRODUCTION TO DEADLOCKS 438
6.2.1 Conditions for Resource Deadlocks 439
6.2.2 Deadlock Modeling 440
6.3 THE OSTRICH ALGORITHM 443
6.4 DEADLOCK DETECTION AND RECOVERY 443
6.4.1 Deadlock Detection with One Resource of Each Type 444
6.4.2 Deadlock Detection with Multiple Resources of Each Type 446
6.4.3 Recovery from Deadlock 448
6.5 DEADLOCK AV OIDANCE 450
6.5.1 Resource Trajectories 450
6.5.2 Safe and Unsafe States 452
6.5.3 The Banker’s Algorithm for a Single Resource 453
6.5.4 The Banker’s Algorithm for Multiple Resources 454
6.6 DEADLOCK PREVENTION 456
6.6.1 Attacking the Mutual-Exclusion Condition 456
6.6.2 Attacking the Hold-and-Wait Condition 456
6.6.3 Attacking the No-Preemption Condition 457
6.6.4 Attacking the Circular Wait Condition 457
6.7 OTHER ISSUES 458
6.7.1 Two-Phase Locking 458
6.7.2 Communication Deadlocks 459
6.7.3 Livelock 461
6.7.4 Starvation 463
6.8 RESEARCH ON DEADLOCKS 464
❿ 一下C/C++多线程编程,请问有什么推荐的书籍
推荐去查找 pthread 的使用
比如 posix多线程编程 pdf 讲的就是 pthread。
遵循可移植的多线程开发规范,虽然这个不是c++的标准规范,但非常常用,尤其是在可移植平台上,当然win上也可以。