当前位置: 首页 > news >正文

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

Java多线程在使用的时候会有很多语句需要我们具体的学习,在这其中wait()就是其中的一个。当然我们需要不断的努力学习才能掌握这一个语句的应用,下面的代码会对你学习Java多线程有所帮助。

  1 
  2 class ThreadA {
  3 	public static void main(String[] args) 	{
  4 		ThreadB b=new ThreadB();
  5 		b.start();
  6 		System.out.println("b is start....");
  7 		synchronized(b){//同步,请求获得对象锁,如果是子线程先进入,则这里阻塞 
  8 			try {
  9 				System.out.println("Waiting for b to complete...");
 10 				b.wait();//获得对象锁后,可以调用对象的wait方法,这个时候释放对象锁,自线程取得对象锁,进入工作 
 11 				System.out.println("Completed.Now back to main thread");
 12 				}catch (InterruptedException e){}
 13 		}
 14 		System.out.println("Total is :"+b.total);
 15 	}
 16 
 17 }
 18 
 19 class ThreadB extends Thread  {
 20 
 21 		int total;
 22 		public void run()  {
 23 
 24 			synchronized(this){ //同步,请求获得对象锁,如果是主线程先进入,则这里阻塞 
 25 				System.out.println("ThreadB is running..");
 26 				for (int i=0;i<100;i++ ){
 27 					total +=i;
 28 					System.out.println("total is "+total);
 29 				}
 30 				notify();
 31 		   }
 32 		}
 33 }
 34 
  以上就是对Java多线程的详细介绍,希望大家有所收获。



本文出自于:coach

相关文章:

  • Google Chrome - 云计算时代的浏览器
  • 问题003:JDK文件夹下的bin有什么作用?javac.exe和java.exe双击后为什么一闪而过,没了?...
  • js javaScript中String添加replaceAll 方法
  • IBM Platform Computing:云计算与大数据的智慧粘合剂
  • document.compatMode 记录
  • 基于语音应用的10项最佳实践
  • maven maven-war-plugin 的配置【转】
  • 云计算平台概览
  • [转]SAP ECC 6.0与R/3的区别
  • [SDOI2005]区间
  • [C++]拼图游戏
  • Servicehot:高效数据中心运维团队有哪7个习惯
  • 2009年的SCI期刊JCR出来了
  • 如何使用Docker构建运行时间较长的脚本
  • cheminfo.gov.cn css 样式示例学习
  • Android交互
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • C++入门教程(10):for 语句
  • echarts的各种常用效果展示
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • Java比较器对数组,集合排序
  • Redux系列x:源码分析
  • vue学习系列(二)vue-cli
  • 爱情 北京女病人
  • 分享几个不错的工具
  • 批量截取pdf文件
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 在weex里面使用chart图表
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (007)XHTML文档之标题——h1~h6
  • (12)Linux 常见的三种进程状态
  • (done) 两个矩阵 “相似” 是什么意思?
  • (MATLAB)第五章-矩阵运算
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (一)基于IDEA的JAVA基础12
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)shell中括号的特殊用法 linux if多条件判断
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • ******IT公司面试题汇总+优秀技术博客汇总
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .Net的C#语言取月份数值对应的MonthName值
  • .NET的数据绑定
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)