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

自己的网站怎么做模板如何用腾讯云服务器搭建wordpress

自己的网站怎么做模板,如何用腾讯云服务器搭建wordpress,软件开发者选项,seo 网站结构优化一、wait()、notify()、notifyAll()等方法介绍 在Object.java中,定义了wait(), notify()和notifyAll()等接口。wait()的作用是让当前线程进入等待状态,同时,wait()也会让当前线程释放它所持有的锁。而notify()和notifyAll()的作用&#xff0…

一、wait()、notify()、notifyAll()等方法介绍

在Object.java中,定义了wait(), notify()和notifyAll()等接口。wait()的作用是让当前线程进入等待状态,同时,wait()也会让当前线程释放它所持有的锁。而notify()和notifyAll()的作用,则是唤醒当前对象上的等待线程;notify()是唤醒单个线程,而notifyAll()是唤醒所有的线程。

Object类中关于等待/唤醒的API详细信息如下:
notify() – 唤醒在此对象监视器上等待的单个线程。
notifyAll() – 唤醒在此对象监视器上等待的所有线程。
wait() – 让当前线程处于“等待(阻塞)状态”,“直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法”,当前线程被唤醒(进入“就绪状态”)。
wait(long timeout) – 让当前线程处于“等待(阻塞)状态”,“直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量”,当前线程被唤醒(进入“就绪状态”)。
wait(long timeout, int nanos) – 让当前线程处于“等待(阻塞)状态”,“直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量”,当前线程被唤醒(进入“就绪状态”)。

二、wait()和notify()示例


package com.demo.Thread;public class ThreadA extends Thread{public ThreadA(String name){super(name);}public void run(){synchronized(this){System.out.println(Thread.currentThread().getName()+" call notify()");// 唤醒当前的wait线程notify();}}
}package com.demo.Thread;
public class WaitTest {public static void main(String[] args){ThreadA t1 = new ThreadA("t1");synchronized(t1){try{// 启动“线程t1”System.out.println(Thread.currentThread().getName()+" start t1");t1.start();// 主线程等待t1通过notify()唤醒。System.out.println(Thread.currentThread().getName()+" wait()");t1.wait();System.out.println(Thread.currentThread().getName()+" continue");}catch(InterruptedException e){e.printStackTrace();}}}
}

运行结果

main start t1
main wait()
t1 call notify()
main continue

结果说明:

如下图,说明了“主线程”和“线程t1”的流程。

(01) 注意,图中"主线程" 代表“主线程main”。“线程t1” 代表WaitTest中启动的“线程t1”。 而“锁” 代表“t1这个对象的同步锁”。
(02) “主线程”通过 new ThreadA(“t1”) 新建“线程t1”。随后通过synchronized(t1)获取“t1对象的同步锁”。然后调用t1.start()启动“线程t1”。
(03) “主线程”执行t1.wait() 释放“t1对象的锁”并且进入“等待(阻塞)状态”。等待t1对象上的线程通过notify() 或 notifyAll()将其唤醒。
(04) “线程t1”运行之后,通过synchronized(this)获取“当前对象的锁”;接着调用notify()唤醒“当前对象上的等待线程”,也就是唤醒“主线程”。
(05) “线程t1”运行完毕之后,释放“当前对象的锁”。紧接着,“主线程”获取“t1对象的锁”,然后接着运行。

在这里插入图片描述
对于上面的代码?曾经有个朋友问到过:t1.wait()应该是让“线程t1”等待;但是,为什么却是让“主线程main”等待了呢?

注意:jdk的解释中,说wait()的作用是让“当前线程”等待,而“当前线程”是指正在cpu上运行的线程!
这也意味着,虽然t1.wait()是通过“线程t1”调用的wait()方法,但是调用t1.wait()的地方是在“主线程main”中。而主线程必须是“当前线程”,也就是运行状态,才可以执行t1.wait()。所以,此时的“当前线程”是“主线程main”!因此,t1.wait()是让“主线程”等待,而不是“线程t1”!

http://www.yayakq.cn/news/772055/

相关文章:

  • 广州网页制作步骤龙岩抖音seo搜索排名
  • 电商网站模板免费四大门户网站流量对比
  • 淄博网站制作品牌定制河南省建设人才信息网站
  • 免费建站哪里找广西开网站信息公司
  • 友情链接网站被降权wordpress中php代码只能一行一行写
  • 做网站需要向客户了解什么小新pro更改网站设置
  • 团购网站 设计方案下载软件的app
  • 建设公司网站的好处商家免费网站模板
  • 灰色链网站建设自媒体平台快看点注册下载
  • 中明建投建设集团 网站红安县城乡建设局官方网站
  • 推荐几个响应式网站做参考百度如何给网站做评价
  • 建设网站的 成本做名片最好的网站
  • 青岛电商网站建设低代码开发平台 免费
  • 网站开发建站微信公众号小程序当下最火的加盟店
  • 手套网站模板西安网站建设制作熊掌号
  • 在线支付的网站怎么做成都创新互联网站建设
  • 黄村网站开发公司个人网站可以做淘宝推广
  • 网站建设丶金手指下拉14网站系统建设合同范本
  • 做淘宝客网站性质揭阳网站免费建站
  • 网站制作网站建设运营团队学做网站用什么软件
  • 设计师的网站如何搭建游戏平台
  • 建立网站需要哪几个如何用易语言做网站
  • 网站域名到期叫模板网站怎么优化
  • 期末作业制作网站网站页面优化
  • 如何建设游戏平台网站wordpress音乐播放器挂件
  • 上杭网站设计学习电子商务网站建设与管理的收获
  • 模板网站怎么建设网站建设项目分期
  • 企业网站硬件建设方案前端角度实现网站首页加载慢优化
  • 网站图片移动怎么做的安全的网站制作公司
  • 视频网站外链怎么做企业网站建设公司价格