📄 stockgather.java
字号:
/**
* 股票采集线程操作
*/
package cn.com.lucre.stock;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Vector;
import javax.swing.JTextArea;
import cn.com.lucre.stock.db.StockDB;
import cn.com.lucre.stock.tools.StockReader;
/**
* @author ABE
*
*/
public class StockGather extends Thread {
/**
* @param args
*/
int threadnum = 0;
public static int j=1;
public static int flag = 0;
Thread[] it;
JTextArea viewarea;
Vector codes;
Vector names;
Vector areas;
public StockGather() {
}
public StockGather(JTextArea area) {
viewarea = area;
}
public void tostart() {
init();
for (int i = 0; i < threadnum; i++) {
it[i] = new Thread(new innerThread(), "" + i);// 股票代码可以用线程名*线程数获得
it[i].start();
}
}
public void tostop() {
flag=1;
viewarea.setText("");
}
public void init() {
flag=0;
getData();
threadnum = 20;// 读取配置
it = new Thread[threadnum];
}
public static void main(String[] args) {
// TODO Auto-generated method stub
/*StockGather thread = new StockGather();
thread.init();
thread.tostart();*/
StockGather gather=new StockGather();
if(gather.getCurrentTime()){
System.out.println("aaaaaaaaa");
}else System.out.println("bbbbbbbbbbbb");
}
public void getBean() {
viewarea = new JTextArea();
}
public void getData() {
codes = new Vector();
names = new Vector();
areas=new Vector();
StockDB db = new StockDB();
Vector[] temp = db.getStockCode();
codes = temp[0];
names = temp[1];
areas=temp[2];
temp=null;
}
public boolean getCurrentTime(){
/*long nCurrentTime = System.currentTimeMillis();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");
String time=simpleDateFormat.format(new Date(nCurrentTime));
System.out.println(time);*/
Date date=new Date();
Date date1=new Date(1,1,1,1,8,30);
Date date2=new Date(1,1,1,1,15,30);
Date date3=new Date(1,1,1,1,date.getHours(),date.getMinutes());
if(date3.getTime()>date1.getTime()&&date3.getTime()<date2.getTime()){
return true;
}else
return false;
}
class innerThread implements Runnable {
String threadid = "";
public void run() {
// TODO Auto-generated method stub
int i = 0;
int offset=0,pos=0;
String code="",name="",area="";
threadid = Thread.currentThread().getName();
offset=Integer.parseInt(threadid);
StockReader reader=new StockReader();
while (flag == 0) {
if(!getCurrentTime()){
try {
Thread.sleep(1000*1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
continue;
}
}
pos=offset+threadnum*i;
code=(String)codes.get(pos);
name=(String)names.get(pos);
area=(String)areas.get(pos);
viewarea.append((j++)+"股票名称:"+name+" 股票代码:"+code+ "\n");
viewarea.setVisible(true);
try {
reader.Reader(code,area);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
sleep(20);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(pos+threadnum>codes.size()-threadnum+offset){
i=0;
}else {
i++;
}
if(j>2000){
viewarea.setText("");
j=1;
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -