`

Java多线程中wait语句的具体使用技巧

阅读更多

Java多线程在使用的时候会有很多语句需要我们具体的学习,在这其中wait()就是其中的一个。当然我们需要不断的努力学习才能掌握这一个语句的应用,下面的代码会对你学习Java <http://developer.51cto.com/art/200510/6983.htm%20%20>多线程有所帮助。

  1.class ThreadA

  2.{

  3.public static void main(String[] args)

  4.{

  5.ThreadB b=new ThreadB();

  6.b.start();

  7.System.out.println("b is start....");

  8.synchronized(b)//同步,请求获得对象锁,如果是子线程先进入,则这里阻塞
  9.{

  10.try

  11.{

  12.System.out.println("Waiting for b to complete...");

  13.b.wait();//获得对象锁后,可以调用对象的wait方法,这个时候释放对象锁,自线程取得对象锁,进入工作
  14.System.out.println("Completed.Now back to main thread");

  15.}catch (InterruptedException e){}

  16.}

  17.System.out.println("Total is :"+b.total);

  18.}

  19.}

  20.class ThreadB extends Thread

  21.{

  22.int total;

  23.public void run()

  24.{

  25.synchronized(this) //同步,请求获得对象锁,如果是主线程先进入,则这里阻塞


  26.{

  27.System.out.println("ThreadB is running..");

  28.for (int i=0;i<100;i++ )

  29.{

  30.total +=i;

  31.System.out.println("total is "+total);

  32.}

  33.notify();

  34.}

  35.}

  36.}

  以上就是对Java多线程的详细介绍,希望大家有所收获。

http://coach.iteye.com/blog/742968

分享到:
评论

相关推荐

    java多线程同步问题

    多线程注意:wait()方法的调用要有判定条件常用 while () obj.wait(timeout, nanos); ... // Perform action appropriate to condition } synchronized会影响共享数据,但对其他语句的执行不会有规律了!

    202013160305-曾素心Java实验报告十.docx

    "Java 多线程实验报告" Java 多线程是指在一个程序中可以并发执行多个线程,以提高程序的执行效率和响应速度。...本实验报告展示了Java多线程的基本概念和实现方法,并展示了多线程的优点和缺点。

    java深入学习笔记.pdf

    六、java多线程编程 * 线程创建:java中的线程创建可以通过继承Thread类或实现Runnable接口实现。 * 线程同步:java中的线程同步机制包括synchronized关键字、wait、notify、notifyAll等。 * 线程通信:java中的...

    软通动力Java笔试题.pdf

    本文档概括了Java笔试题,涵盖了Java的基础知识、Java集合框架、Spring框架、J2EE事务、Java多线程、UML类图等多个方面的知识点。 访问权限控制 在Java中,存在五种访问权限控制等级,从最宽松到最严格控制等级...

    Java图书图书管理系统报告.doc

    2. 多线程通信机制:在图书管理系统中,我们使用了多线程通信机制来实现图书的借阅和还书操作。在 Book 类中,我们使用了synchronized关键字来确保线程安全,并使用wait()和notify()方法来实现线程之间的通信。 3. ...

    Java写的围棋游戏的源代码.pdf

    五、Java中的多线程编程 * 线程的创建和启动:使用Thread类和Runnable接口 * 线程的同步和通信:使用synchronized关键字和wait()、notify()方法 六、Java中的输入/输出操作 * 文本输入:使用TextField组件和...

    Java2实用教程.rar

    第9章Java多线程机制 9 1Java中的线程 9 2Thread类的子类创建线程 9 3使用Runnable接口 9 4线程的常用方法 9 5GUI线程 9 6线程同步 9 7在同步方法中使用wait notif 和nodf3 All 方法 9 8挂起 恢复和终止线程 9 9计时...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    8.1.2 在Eclipse中使用包 194 8.1.3 天上掉下个package 197 8.1.4 包带来了什么? 197 8.2 import语句:化繁为简 200 8.2.1 import语句 200 8.2.2 一网打尽包中所有类 201 8.2.3 import语句带来的小问题 202 ...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    8.1.2 在Eclipse中使用包 194 8.1.3 天上掉下个package 197 8.1.4 包带来了什么? 197 8.2 import语句:化繁为简 200 8.2.1 import语句 200 8.2.2 一网打尽包中所有类 201 8.2.3 import语句带来的小问题 202 ...

    Java测试题2答案

    下列说法正确的是 BC A java.lang.Clonable是类 B java.lang.Runnable是接口 C Double对象在java.lang包中 D Double a=1.0是正确的java语句 9.指出正确的表达式AB &lt;br&gt;B Double a=new Double(1.0)...

    java 面试题 总结

    与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。...

    JAVA面试题最全集

    谈谈java多线程 23.谈谈文件加密技术 24.软件开发生命周期 25.路由协议种类及特点 26.java的awt和swing组件的GUI设计的关键 27.对于java流的认识 28.简单描述一下awt与swing区别。 29.简述java编程中事件处理...

    2023编程精选题库:Java面试题集及参考答案.docx

    Java 面试题集及参考答案,涵盖了 Java 面试的多个方面,包括面向对象的三个特征、多态、抽象类和接口的区别、构造器、访问修饰符、静态变量和实例变量的区别、不可变对象、创建对象的几种方式、switch 语句、String...

    Java常见面试题208道.docx

    面试题包括以下十九部分:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql...

    Java30道面试题及答案

    3、finally为区块标志,用于try语句中。final、finalize()、finally有什么作用?1.final用于标识常量的关键字,final标识的关键字存储在常量池中;2、finalize()方法在Object中进行了定义,用于在对象“消失”时,由...

    java基础案例与开发详解案例源码全

    5.4.4 Java中对象的创建和使用127 5.5 属性130 5.5.1 属性的定义130 5.5.2 变量131 5.6 方法132 5.6.1 方法的定义132 5.6.2 构造方法135 5.6.4 方法重载138 5.6.5 自定义方法138 5.6.6 系统提供方法139 5.6.7 方法...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    【Mybatis】MyBatis中使用#和$书写占位符有什么区别? 100 【Mybatis】Mybatis是如何进行分页的?分页插件的原理是什么? 100 【数据库】什么是事务?事务的四个特性?事务的隔离级别?什么是脏读,不可重复读,幻读...

    java面试宝典

    156、在jsp:useBean语法中使用beanName有何好处? 37 157、当我使用时,在浏览器的地址栏没有改变? 37 158、如何转换JSP 0.9版本的文件到JSP1.1? 37 160、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么...

    java程序设计实验指导代码

    第13章 多线程编程 13.1 预备知识 13.2 实验1 使用Thread类创建4线程程序 13.3 实验2 一个实现Runnable接口的小应用程序 13.4 实验3 线程同步与资源共享 13.5 实验4 wait( )和notify( )挂起与恢复线程 第14章 ...

    Java面试宝典-经典

    50、多线程有几种实现方法?同步有几种实现方法? 33 51、启动一个线程是用run()还是start()? . 33 52、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 33 53、线程的基本概念...

Global site tag (gtag.js) - Google Analytics