- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[JAVA编程思想
JAVA编程思想——多线程姓名:常灿光班级:2012163班学号:201216323 专业:网络工程163班从2015年春节开始接触JAVA,在寒假期间每天都会花费两个小时左右的事件坚持看毕向东老师录的Java教学视频,我非常认同上面的一句话:“万物皆对象”,也非常认同毕向东老师所说的什么叫做面向对象:“面向对象就可以理解为现实生活中,你面对的对象,原来你需要自己做的事情如洗衣服等,在你没认识你对象之前都是要你自己去洗,在有了对象之后,你就可以把这件事情交给你对象去做,你原来面对的是你的衣服,现在你面向的是你的对象。你只要面向你的对象进行“操作”就行了”。当然这样解释什么是面向对象或许不恰当不合适,但是我感觉能很形象的解释Java是一门面向对象编程的语言。在这里,我将会就Java中的多线程问题发表自己的观点。现在常用的操作系统,如windows,Mac OS 和Linux等都是多任务的系统,能在同一个时间段内同时执行多个任务。例如在Windows系统中可以边听音乐边使用Word文件,同时杀毒软件还在后台默默地工作,当然还可以使用输入法打字等。对操作系统而言,正在执行的音乐播放器、Word软件、和输入法等都是一个个进程,就算是编写Java程序也是一个进程。什么是进程?进程是程序在操作系统上运行的过程,它是系统进行资源分配和调度的独立单位。关于进程还有许多的的定义,但总的来说,进程最根本的属性是动态性和并发性,因此可将进程定义为程序在环境中执行的过程。什么是线程?在一个进程内部又可以执行多个任务,一般将进程内部的任务称为线程。线程是程序中单个顺序的控制流,是程序使用CPU的基本单位。线程是在进程这个概念上提出的,线程和进程都是在计算机中的并发执行相关概念。无论是进程还是线程,最终目的就是做大限度的提高计算机系统资源的使用效率,提高程序的并发性。线程与进程之间的区别:地址空间和其它资源:每个进程占有独立的地址空间,包括代码、数据及其它资源。然而,属于同一个进程中的线程只能共享这些资源,不具有独立的地址空间和其他资源。通信:进程之间的通信开销较大受到诸多限制,必须具有明确的对象或操作接口并采用统一的通信协议;而线程间可以直接读写进程数据段来进行通信,需要进程同步和互斥手段的辅助,以保证数据的一致性。切换:进程间的切换开销较大,而线程间的切换开销较小控制表:与进程的控制表PCB相似,线程也有自己的控制表TCP。但是TCP中保存的线程状态远小于PCB。一:线程的创建Java中的线程设计为一个对象,但不是每一个对象都是线程,只有实现类Runnable接口的类对象才能 称为线程。Java语言提供了两种途径实现多线程,一种是继承Thread类,另一种是直接实现Runnable接口。1通过继承Thread类创建线程格式如下:Public class 类名 extends Thread{属性; //继承Thread类方法; //定义类的属性Public void run(){//线程程序代码}}2通过实现Runnable接口创建线程格式如下:public class 类名 implements Runnable{ //定义Runnable接口属性 ; //定义类的属性方法; //定义类的其他方法Public void run(){//线程程序代码}}二:Java主线程——main()一个Java应用程序的主类的main()方法是它的主线程。当Java程序启动时,一个主线程自动被创建并运行。执行的接入点就是main()方法,可以将其视为是主线程的run()方法。主线程是自动建立的,主线程是产生应用程序所有其他线程的线程,并且主线程通常最后执行,以方便完成各种收尾工作。就是说,程序中只要有其他非守护线程尚未结束,主线程就不会结束,即时main()方法中使用了return语句或该main()方法内的内容已执行结束也是一样的。例子:获取主线程public class MainTbread implements Runnable {public void run(){ for (int i=1;i=10 ;i++ ){//循环10次System.out.println(当前运行的线程:+Thread.currentThread()+,i=+i);//输出当前运行的线程}}public static void main(String[] args) {Thread mt =Thread.currentThread();//获取主线程System.out.println(线程信息:+mt);//输出主线程信息System.out.println
文档评论(0)