/** * condition:在某种状态下 */ public class CurrentDemo14 { LinkedList lists = new LinkedList<>(); private static final int MAX = 20; private static int count = 0; ReentrantLock lock = new ReentrantLock(); Condition producer = lock.newCondition(); Condition consumer = lock.newCondition();
public Object get(){ Object t = null; try { lock.lock(); while (lists.size()==0){ consumer.await(); } t = lists.removeFirst(); System.out.println("已消费对象:"+t); count--; System.out.println("消费后剩余:"+count); Thread.sleep(2000); producer.signalAll(); } catch (Exception e) { System.out.println("消费线程异常中断"+e.getMessage()); }finally { lock.unlock(); return t; } }
public static void main(String[] args){ CurrentDemo14 currentDemo14 = new CurrentDemo14(); for (int i = 0; i < 2; i++) { new Thread("p"+i){ public void run(){ for (;;) { currentDemo14.put(Thread.currentThread().getName()); } } }.start(); } try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } for (int i = 0; i < 10; i++) { new Thread("c"+i){ public void run(){ for (;;) { currentDemo14.get(); } } }.start(); } } }
参考:http://blog.csdn.net/qingfeilee/article/details/7052736
org.hibernate.NonUniqueResultException: query did not return a unique result: 2
在项目中出现了org.hiber
由Oracle通信技术部门主导的演示项目并没有在本月较早前法国南斯举行的行业集团TM论坛大会中获得嘉奖。但是,Oracle通信官员解雇致力于打造一个支持零干预分配和编制功能的网络即服务(NaaS)平台,帮助企业以更灵活和更适合云的方式实现通信服务提供商(CSP)的连接产品。这个Oracle主导的项目属于TM Forum Live!活动上展示的Catalyst计划的19个项目之一。Catalyst计
Spring MVC提供了非常方便的文件上传功能。
1,配置Spring支持文件上传:
DispatcherServlet本身并不知道如何处理multipart的表单数据,需要一个multipart解析器把POST请求的multipart数据中抽取出来,这样DispatcherServlet就能将其传递给我们的控制器了。为了在Spring中注册multipart解析器,需要声明一个实现了Mul
the CollabNet user information center http://help.collab.net/
How do I create a new Wiki page?
A CollabNet TeamForge project can have any number of Wiki pages. All Wiki pages are linked, and
package beautyOfCoding;
import java.util.Arrays;
import java.util.Random;
public class MaxSubArraySum2 {
/**
* 编程之美 子数组之和的最大值(二维)
*/
private static final int ROW = 5;
private stat
示例程序,swap_1和swap_2都是错误的,推理从1开始推到2,2没完成,推到3就完成了
# include <stdio.h>
void swap_1(int, int);
void swap_2(int *, int *);
void swap_3(int *, int *);
int main(void)
{
int a = 3;
int b =
同步工具类包括信号量(Semaphore)、栅栏(barrier)、闭锁(CountDownLatch)
闭锁(CountDownLatch)
public class RunMain {
public long timeTasks(int nThreads, final Runnable task) throws InterruptedException {
fin
不止一次,看到很多讲技术的文章里面出现过这个词语。今天终于弄懂了——通过朋友给的浏览软件,上了wiki。
我再一次感到,没有辞典能像WiKi一样,给出这样体贴人心、一清二楚的解释了。为了表达我对WiKi的喜爱,只好在此一一中英对照,给大家上次课。
In computer science, bleeding edge is a term that