采用LinkedList数据结构方式来模拟消费者与生产者模型,小Demo import java.util.LinkedList; public class MyQueue { private final LinkedList<Object> list = new LinkedList<>(); private final Integer MAX = 5; private final Integer MIN = 0; private final Object obj = new O…
一.springcloud 实现简单的 消费者和生产者 模式(Restfule 的风格) 1.实现简单的消费者和生产者 springcloud使用的http协议进行传输数据,也就是说springcloud仍然使用的是RESTFUL的风格 1.1.搭建工程(!!!springboot的项目是否需要运行都打jar包!!!(springboot工程中不需要war包)) 搭建一个总的父级工程 20190926-springcloud-parent(pom):只做jar包的管理 把SRC 目录干掉 //…
消费者和生产者模式 用继承Thread方式,用wait和notifyAll方法实现. 消费者和生产者模式的特点 1. 什么时候生产:仓库没有满的时候,生产者这可以生产,消费者也可以消费,仓库满的时候停止生产 2. 什么时候消费: 仓库有货的时候消费,没有货不能消费 3. 通知生产:消费者发现没有货,消费者通知生产者生产 4. 通知消费:生产者生产出产品后,通知消费者消费 代码实现 package com.java.javabase.thread.base; import lombok.AllAr…
新建一个Break类,表示食物数量. public class Break { public static final int MAX = 10; //最多一次性煮十个面包 Stack<Integer> stack = new Stack<Integer>(); public static int food_count = 0; //统计食物的个数 //做面包 public synchronized void make_food(int number){ stack.push(nu…
方式一:HttpClient import org.apache.commons.lang.exception.ExceptionUtils; import org.apache.http.*; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEnti…
关于HttpClient方式模拟http请求,请求头以及其他参数的设置. 本文就暂时不给栗子了,当作简版参考手册吧. 发送请求是设置请求头:header HttpClient httpClient = new DefaultHttpClient(); //創建一個httpGet方法 HttpGet httpGet = new HttpGet("http://www.cnblogs.com/loveyakamoz/archive/2011/07/21/2113252.html"); //…
/* * 多线程-消费者和生产者模式 * 在实现消费者生产者模式的时候必须要具备两个前提,一是,必须访问的是一个共享资源,二是必须要有线程锁,且锁的是同一个对象 * */ /*资源类中定义了name(名字):用来区分消费者还是生产者 * 定义了flag标记:用来区分有没有货物(默认生产一个就要消费一个) * 定义了count(生产的个数统计) * set方法:用来生产商品 * out方法:用来消费商品*/ class TestSource{ private String name=null; p…
请使用LinkedList来模拟一个堆栈或者队列数据结构. 堆栈:先进后出 First In Last Out  (FILO) 队列:先进先出 First In First Out  (FIFO) 我们应该描述这样一个容器,给使用者提供一个容器对象完成这两种结构中的一种. // 实现一个队列 public class DuiLie { private LinkedList link; public DuiLie() { link = new LinkedList(); } public void…
多线程主要考察的就是 线程的同步控制   生产者消费者的思路就是,当 一个线程执行时让另一个线程 挂起就行了 ThreadOne.ThreadTwo同时运行,添加一个变量在一个公共类(下边的Function类)中, 例如:当变量为true,ThreadOne执行ThreadTwo挂起: 当变量为false,ThreadOne挂起ThreadTwo执行 一个线程执行完之后,自己重置变量(目的是把自己挂起),然后唤醒另一个挂起的线程,如此便可使两个线程交替执行 对于消费者.生产者来说: 当消费者拿不…
三.用LinkedList来模拟栈数据结构的集合 /* * 自定义一个数据结构为LinkedList的集合类*/public class MyCollection_LinkedList { public LinkedList linkedList;            public MyCollection_LinkedList() {             //在构造方法里初始化             linkedList= new LinkedList();             }…