简单多线程卖票代码



简单多线程卖票代码.

Java代码 收藏代码
public class Thread2 {
public static void main(String[] args) {
ShareData d = new ShareData();
//两个窗口卖票
new Thread(d).start();
new Thread(d).start();
}
}

class ShareData implements Runnable {

private int count = 100;

@Override
public void run() {
synchr[......]

Read more

用Lock和Condition,实现主线程执行5次,子线程再执行10次,孙线程执行15次,如此反复5次



用Lock和Condition,实现主线程执行5次,子线程再执行10次,孙线程执行15次,如此反复5次.

Java代码 收藏代码
package test1;

import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

/**
* 用Lock和Condition,实现主线程执行5次,子线程再执行10次,孙线程执行15次,如此反复5次
*
* 设计思想:[......]

Read more

java通过semaphore信号灯实例,开启多个线程,但只并发3个线程

java通过semaphore信号灯实例,开启多个线程,但只并发3个线程。

Java代码 收藏代码
package com.mhm.test1;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Semaphore;

/**
* semaphore 信号灯
* 20个线程,开启3个信号灯,一个线程拿走一个灯,也就是说,同时只能有3个线程并发
* 一盏灯类似互斥sync
* @author[......]

Read more

ArrayBlockingQueue的生产者和消费者

ArrayBlockingQueue的生产者和消费者。

学习写的测试,可能有BUG。
有了ArrayBlockingQueye,写生产者和消费者方便多了。
之前的一篇关于生产者和消费者的,一堆代码http://hongmin118.iteye.com/blog/865222
Java代码 收藏代码
package com.mhm.test1;

import java.util.concurrent.ArrayBlockingQueue;

/**
* 用ArrayBlockingQueue实现生产者和消费者
* @author Mahone
*
*/
publ[......]

Read more

mongodb删除已处理过的数据,即非新增数据

mongodb删除已处理过的数据,即非新增数据。
Java代码 收藏代码
/**
* 删除已处理过的数据(此数据已被迁移到mysql中)
* QueryOperators.NIN
*/
public void deleteProcessedAlarm () {
DBCollection dBCollection = getAlarmColl();
BasicDBObject query = new BasicDBObject();
BasicDBObject stateCond = new BasicDBObject(LedConstants.MONGODB_ALARM_ST[......]

Read more

mongodb 分组 得到第一条数据

mongodb 分组 得到第一条数据方法实例介绍。

业务逻辑:
控制器每分钟上报采集数据,现需得到每个控制器的每种采集数据的最近一条数据:
性能比较低。。。

Java代码 收藏代码
/**
* 分组,得到每个控制器每种采集类型的离当前最近的一条记录
*/
private static void group () {

DBCollection coll = MongoDBUtils.getInstance().getDataColl();

// 按collectType分组
BasicDBObject key = new BasicDBObject(“col[......]

Read more

centos 安装 java7,tomcat7,mysql5.6,mongodb

centos 安装 java7,tomcat7,mysql5.6,mongodb方法实例介绍Java代码 收藏代码

chkconfig –list tomcat7

Linux环境为centos6.5

先删除centos自带的java5
su到root权限在进行以下操作
一、
新机器,先安装编译需要用到的软件
Java代码 收藏代码
yum -y install make gcc-c++ cmake bison-devel ncurses-devel gcc autoconf automake zlib* fiex* libxml* libmcrypt* libtool[......]

Read more

ios 获取屏幕的属性和宽度方法介绍

ios 获取屏幕的属性和宽度方法介绍。

app尺寸,去掉状态栏

CGRect r = [ UIScreen mainScreen ].applicationFrame;

r=0,20,320,460

屏幕尺寸

CGRect rx = [ UIScreen mainScreen ].bounds;

r=0,0,320,480

状态栏尺寸

hibernate fetch = FetchType.EAGER 作用

hibernate fetch = FetchType.EAGER 作用.

如果是EAGER,那么表示取出这条数据时,它关联的数据也同时取出放入内存中如果是LAZY,那么取出这条数据时,它关联的数据并不取出来,在同一个session中,什么时候要用,就什么时候取(再次访问数据库)。
但是,在session外,就不能再取了。用EAGER时,因为在内存里,所以在session外也可以取。

一般只在一边设Eager,JPA接口默认为一对多为Lazy,多对一为Eager,但是Hibernate反向工程生成Entity时,多对一为Lazy,需要手动改为Eager。

而两边都设Eage[......]

Read more