欢迎来到天天文库
浏览记录
ID:33933259
大小:975.34 KB
页数:36页
时间:2019-03-01
《初学者如何学习多线程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
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又
此文档下载收益归作者所有