java 多线程

发布时间:2017-3-29 19:11:52 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"java 多线程",主要涉及到java 多线程方面的内容,对于java 多线程感兴趣的同学可以参考一下。

线程与进程 1)线程比进行划分得更小 2)每个进程都有一段专用的内存区域和一组系统资源,而线程却共享内存单元(包括代码和数据),通过共享的内存单元来实现数据交换、实时通信和必要的同步操作   接口与抽象类的不同 1)接口里的数据成员必须初始化,且数据成员均为常量(即不能更改) 2)接口里的方法必须全部生命为abstract,即接口不能像抽象类一样保有一般的方法,必须全部是“抽象方法” 一个接口的声明 interface 接口名称 {        final 数据类型 成员名称 = 常量;        abstract 返回值的数据类型 方法名称(参数…); } 接口是java中实现多继承的一种机制;接口也可以继承(且一个接口可以继承多个接口)   利用继承Thread类实现多线程 1)创建一个类TestThread,继承Thread类,并实现run()方法 2)在程序中实例化TestThread类对象,调用start()方法即可 利用实现Runnable接口实现多线程 1)创建一个类TestThread,并覆写Runnable接口中的run()方法,则该类为一个多线程实现类实例化 2)在程序中实例化TestThread类对象t 3)通过TestThread类(Runnable接口的子类)实例化一个Thread对象,再调用start()方法即可启动多线程 Runnable接口中并没有start()方法,所以一个类实现了Runnable接口也必须用Thread类中的start()方法来启动多线程 PS:使用该方法的情况,一个类继承了某一个类,同时又想采用多线程技术(java不允许多继承,只允许单一继承)   继承Thread类以及实现Runnable接口的区别 1)Thread方式各个线程间资源不共享,Runnable方式各线程间资源共享 2)Runnable方式适用于已经继承了某一个类的子类,而又想放入多线程中的情况(java中不允许多重继承)     一个线程一般具有六种状态 1)NEW:尚未启动的线程 2)RUNNABLE:正在Java虚拟机中之行的线程 3)BLOCKED:受阻塞等待某个监视器锁的线程 4)WAITING:无限期的等待另一个线程来执行某一特定操作的线程 5)TIMED_WAITING:等待另一个线程来执行某一操作或者等待指定时间的线程 6)TERMINATED:已退出的线程   前台线程与后台线程        对于一个java程序,只要还有一个前台线程在运行,该进程就不会结束        一般的线程都是前台线程,在某个线程对象启动之前调用了setDaemon(true)方法,这个线程就变成了后台线程   线程的强制执行        线程可以调用join()方法来强制执行,其它线程必须等到该线程执行结束才能执行        另外还有有参数的join()方法 1)Join()     等待该线程终止 2)Join(long millis)           等待该线程终止,最长时间为millis毫秒 3)Join(long millis, int nanos)        等待该线程终止,最长时间为millis毫秒+nanos纳秒   线程的中断        在一个线程执行时,另一个线程可以调用对应的Thread对象的interrupt()方法来中断它   代码的原子性        即一段代码一旦开始执行,则必须等到该段代码运行结束,其它线程才能调用该段代码;即该段代码是一个整体,不能执行到一半的时候进行线程的切换 同步代码块与同步方法即保证了代码的原子性,只需要利用synchronized关键字   线程的同步机制        wait()/notify()/notifyAll(),只能在synchronized方法中调用,即先取得对象的锁标记;notify()只能唤醒同一对象监视器中调用wait()的线程,且notify()唤醒在此对象监视器上的单一线程,notifyAll()可以唤醒在此对象监视器上的所有线程     伪代码如下: synchronized(obj){        while(!condition){               obj.wait();        }        //dosomething }   Synchronized(obj){        condition =ture;        obj.notify(); }

上一篇:MemCache深入学习(一)
下一篇:连接字符串的两种写法

相关文章

关键词: java 多线程

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款