初学者如何学习多线程

初学者如何学习多线程

ID:33933259

大小:975.34 KB

页数:36页

时间:2019-03-01

初学者如何学习多线程_第1页
初学者如何学习多线程_第2页
初学者如何学习多线程_第3页
初学者如何学习多线程_第4页
初学者如何学习多线程_第5页
资源描述:

《初学者如何学习多线程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、初学者如何学习多线程Java多线程初学者指南(1):线程简介..................................................................................1Java多线程初学者指南(2):用Thread类创建线程..........................................................3Java多线程初学者指南(3):使用Runnable接口创建线程.............................

2、................6Java多线程初学者指南(4):线程的生命周期......................................................................7Java多线程初学者指南(5):join方法的使用.........................................................................13Java多线程初学者指南(6):慎重使用volatile关键字...................

3、.......................................14Java多线程初学者指南(7):向线程传递数据的三种方法....................................................16Java多线程初学者指南(8):从线程返回数据的两种方法....................................................19Java多线程初学者指南(9):为什么要进行数据同步..............................

4、..............................21Java多线程初学者指南(10):使用Synchronized关键字同步类方法.................................24Java多线程初学者指南(11):使用Synchronized块同步方法.............................................30Java多线程初学者指南(12):使用Synchronized块同步变量....................................

5、.........345Java多线程初学者指南(12):使用www.changshady.com块同步变量...........................34Java多线程初学者指南(1):线程简介一、线程概述线程是程序运行的基本执行单元。当操作系统(不包括单线程的操作系统,如微软早期的DOS)在执行一个程序时,会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被称为主线程)来作为这个程序运行的入口点。因此,在操作系统中运行的任何程序都至少有一个主线程。进程和线程是现代操作系统中两个必不可

6、少的运行模型。在操作系统中可以有多个进程,这些进程包括系统进程(由操作系统内部建立的进程)和用户进程(由用户程序建立的进程);一个进程中可以有一个或多个线程。进程和进程之间不共享内存,也就是说系统中的进程是在各自独立的内存空间中运行的。而一个进程中的线可以共享系统分派给这个进程的内存空间。放放电影线程不仅可以共享进程的内存,而且还拥有一个属于自己的内存空间,这段内存空间也叫做线程栈,是在建立线程时由系统分配的,主要用来保存线程内部所使用的数据,如线程执行函数中所定义的变量。注意:任何一个线程在建立时都会执行一个函数,

7、这个函数叫做线程执行函数。也可以将这个函数看做线程的入口点(类似于程序中的main函数)。无论使用什么语言或技术来建立线程,都必须执行这个函数(这个函数的表现形式可能不一样,但都会有一个这样的函数)。如在Windows中用于建立线程的API函数CreateThread的第三个参数就是这个执行函数的指针。在操作系统将进程分成多个线程后,这些线程可以在操作系统的管理下并发执行,从而大大提高了程序的运行效率。虽然线程的执行从宏观上看是多个线程同时执行,但实际上这只是操作系统的障眼法。由于一块CPU同时只能执行一条指令,因此

8、,在拥有一块CPU的计算机上不可能同时执行两个任务。而操作系统为了能提高程序的运行效率,在一个线程空闲时会撤下这个线程,并且会让其他的线程来执行,这种方式叫做线程调度。我们之所以从表面上看是多个线程同时执行,是因为不同线程之间切换的时间非常短,而且在一般情况下切换非常频繁。假设我们有线程A和B.在运行时,可能是A执行了1毫秒后,切换到B后,B又

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。