/**PageBeginHtml Block Begin **/ /***自定义返回顶部小火箭***/ /*生成博客目录的JS 开始*/ /*生成博客目录的JS 结束*/

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

* 博客文章部分截图及内容来自于学习的书本及相应培训课程以及网络其他博客,仅做学习讨论之用,不做商业用途。
* 如有侵权,马上联系我,我立马删除对应链接。
* @author Alan
* @Email no008@foxmail.com

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

posted @   一品堂.技术学习笔记  阅读(574)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示