Java多线程编程.doc_第1页
Java多线程编程.doc_第2页
Java多线程编程.doc_第3页
Java多线程编程.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java多线程编程如何实现多线程?实现多线程的两种方法:1,继承Thread类 2,实现Runnable接口例:继承Thread类:MultiThread.java:public class MultiThread public static void main(String args)MyThread mt=new MyThread();mt.start();System.out.println(Thread.currentThread().getName();class MyThread extends Threadpublic void run()System.out.println(MyThread.currentThread().getName();2:实现Runnable接口:Runnable1.javapublic class Runnable1 public static void main(String args)MyThread1 mt=new MyThread1();new Thread(mt).start();System.out.println(Thread.currentThread().getName();class MyThread1 implements Runnablepublic void run()System.out.println(Thread.currentThread().getName();线程的常用方法有哪些?1,setDaemon(Boolean on):设置后台线程2,yield():在线运行的线程放弃运行权力。3,Sleep(long millis):线程睡眠,单位毫秒4,同步(synchronized):同步方法和同步块,适用于并行线程共享临界资源5,setPriority:设置线程的优先级,大小从1到10,默认优先级NORM_PRIORITY(5),最大:MAX_PRIORITY(10),最小:MIN_PRIORITY(1)6,wait:每个对象除了有一个锁之外,还有一个等待队列(wait),当一个对象刚创建的时候,它的等待队列是空的。7,我们应该在当前线程锁住对象的锁之后,去调用该对象的wait方法。8,notify:当调用对象的notify方法时,将从该对象的等待队列中删除一个任意选择的线程,这个线程将再次成为可运行的线程。9,当调用对象的notifyAll方法时,将从该对象的等待队列中删除所有等待的线程,这些线程将成为可运行的线程。Wait和notify主要用于生产者和消费者关系中。例:class Testpublic static void main(String args)Queue q=new Queue();Producer p=new Producer(q);Consumer c=new Consumer(q);p.start();c.start();class Producer extends ThreadQueue q;Producer(Queue q)this.q=q;public void run()for(int i=0;i10;i+)q.put(i);System.out.println(Producer put +i);class Consumer extends ThreadQueue q;Consumer(Queue q)this.q=q;public void run()while(true)System.out.println(Consumer get +q.get();class Queueint value;boolean bFull=false;public synchronized void put(int i)if(!bFull)value=i;bFull=true;notify();trywait();catch(Exception e)e.printStackTrace();public synchronized int get()if(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论