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

淘宝网站建设seo的方法有哪些

淘宝网站建设,seo的方法有哪些,人像摄影网站十大排名,广州工商注册核名查询系统线程间通信:wait和notify 1、Object的wait和notify方法 Java中的Object类提供了两个重要的方法,用于线程间的通信和同步:wait()方法和notify()方法 wait()方法的定义 方法签名:public final void wait() throws InterruptedEx…

线程间通信:wait和notify

1、Object的wait和notify方法

Java中的Object类提供了两个重要的方法,用于线程间的通信和同步:wait()方法和notify()方法

wait()方法的定义

  • 方法签名public final void wait() throws InterruptedException
  • 功能:使当前线程等待,直到其他线程调用此对象的notify()notifyAll()方法。换句话说,当一个线程调用某个对象的wait()方法时,它会进入这个对象的等待池中,并释放该对象的对象锁(监视器)。
  • 使用条件:必须在同步块(synchronized block)或同步方法中调用,因为当前线程必须拥有该对象的监视器。如果试图在非同步环境中调用wait(),会抛出IllegalMonitorStateException异常。

notify()方法的定义

  • 方法签名public final void notify()
  • 功能:唤醒在此对象监视器上等待的单个线程。如果有多个线程都在此对象上等待,则选择一个线程进行唤醒,选择是任意性的。注意,调用notify()方法并不会立即使等待线程从wait()返回,而是需要等到当前线程释放了该对象的监视器之后,被选中的等待线程才有机会获得该监视器并继续执行。
  • 使用条件:也必须在同步块或同步方法中调用,因为当前线程必须拥有该对象的监视器。如果试图在非同步环境中调用notify(),也会抛出IllegalMonitorStateException异常。

2、消费者和生产者代码

商店类

import java.util.ArrayList;
import java.util.List;public class Store {public Store(){}private List<String> apples = new ArrayList<>();private Object o = new Object();public void custom(){synchronized(o){if (apples.size() == 0) {try {o.wait();} catch (InterruptedException e) {e.printStackTrace();}}String apple = apples.get(apples.size()-1);System.out.println("消费者消费了:"+apple);apples.remove(0);o.notify();}}public void product(String apple){synchronized(o){if (apples.size() > 0) {try {o.wait();} catch (InterruptedException e) {e.printStackTrace();}}apples.add(apple);System.out.println("生产者生产了:"+apple);o.notify();}}}

消费者类

public class Customer implements Runnable{private Store store;public Customer(Store store){this.store = store;}@Overridepublic void run() {for (int i = 0; i < 100; i++) {store.custom();                }}}

生产者类

public class Producter implements Runnable{private Store store;public Producter(Store store){this.store = store;}@Overridepublic void run() {for (int i = 0; i < 100; i++) {store.product("苹果"+i);}}}

执行类

import java.util.ArrayList;
import java.util.List;public class CustomerProducter {/*** 1. 生产者:没有产品,就要开始生产,生产完毕通知消费者,有产品等待消费者消费* 2. 消费者:有产品,开始消费,消费完毕通知生产者,没有产品等待生产者生产* 3. 缓冲区* */public static void main(String[] args) {Store store = new Store();Customer customer = new Customer(store);Producter producter = new Producter(store);new Thread(customer).start();new Thread(producter).start();}}

执行结果

生产者生产了:苹果0
消费者消费了:苹果0
生产者生产了:苹果1
消费者消费了:苹果1
...
生产者生产了:苹果98
消费者消费了:苹果98
生产者生产了:苹果99
消费者消费了:苹果99
http://www.khdw.cn/news/70753.html

相关文章:

  • 男女在床上做孔网站宁德市人社局
  • 重庆建设工程信息网官网首页入口360seo关键词优化
  • 如何开发游戏软件seo外链优化策略
  • 产品网站建站游戏推广员拉人技巧
  • 江苏建设网站公司搜索关键词排名一般按照什么收费
  • 网站建设及营销方案爱站网长尾关键词挖掘工具福利片
  • 网站做cnzz流量统计百度优化插件
  • 网站建设进度及实过程百度客服中心
  • 天津网站建设服务抖音广告代运营
  • 做爰片的网站成都百度seo公司
  • 如何查看网站域名解析螺蛳粉营销策划方案
  • wordpress站点运行时间百度客服在线咨询电话
  • 个人简历pptseo关键词排名优化系统源码
  • 洛阳做网站免费ip地址代理
  • 宁波网络推广渠道有哪些上海最大的seo公司
  • 老徐蜂了网站策划书百度推广客户端手机版下载
  • 温州瓯北做网站宁波受欢迎全网seo优化
  • wordpress写文章插件京东关键词优化技巧
  • 永嘉哪里有做网站百度网站大全
  • 做菠菜网站好赚吗新闻 最新消息
  • 海纳网站建设河南新站关键词排名优化外包
  • 成都网站制引流推广软件
  • wordpress数据库替换整站优化
  • 阿里云做网站视频无法播放百度联盟项目看广告挣钱
  • 南通装饰网站建设seo推广的全称是
  • 广州惠科互联网技术有限公司百度推广的优化软件
  • 景安虚拟主机seo自己怎么做
  • 做网站可以用别人的源码吗1688网站
  • wordpress优缺点seo优化师培训
  • 一般网站首页做多少mb福州百度网站排名优化