JAVA 多线程 访问网页 - Java / Java SE
小弟目前做了这样一个小东西
数据库里有一组数据 是车牌号+车牌类型的一万多条数据 车牌类型大部分为空
程序与要从数据中将车牌和车牌类型 拼上url 访问车辆违章公布网站
然后将网站的返回结果 取出写入数据库
现在问题是数据库中车牌号对应的类型太少了 而网站的类型比较多
那就需要尝试 车牌和所有类型拼成n多url然后依次访问该网站 取回结果 速度很慢
想用多线程 进行这个操作 可是多线程用得不太熟 哪位 有好的办法提高一下运行速度 或者告诉我一下 这个多线程要怎样写
这个不需要用到多线程的。。
用缓存或批量插入
把你的处理类包装成一个线程类,然后用一个主线程去启动多个子线程就可以了。
怎样包装成线程类?继承Thread,把处理代码写到run方法里。
怎么启动子线程类?new一个线程类,再调用它的start方法。
建议:主线程类有一些同步的方法,比如子线程可以调用该方法来得到新的车牌号;比如子线程得到结果后调用该方法将结果保存到数据库。
什么 叫 "而网站的类型比较多" ?不是只有一个网站啊。
1. 对每条数据的处理 起一个线程MainThread, 其中 有个 lock (Object lock=new Object();)
public void run(){
//...对每一个车型号new 一个新线程去生成url去处理 (新线程 待 后面说明)
//每个线程都要在存起来,如加入ArrayList.
sychronized(lock) {
lock.wait();
}
//有一个线程处理成功后(就是类型匹配对的那个),调用 lock.notify() <
相关问答:
我在 java核心技术上 看了一个 利用 Java socket email的例子 可是怎么也 不成功 为什么?
源码
Java code:
package cn.com.test.email;
import java.awt.GridBagLayout;
import java.awt.event.Action ......
insert into [ScholarshipManagement].[dbo].[department] ([department],[specialization] ,[grade]) output inserted.departmentID values(? ,? ,? )
请问大哥们这个sql 语句应该用Java里的那个数据库操作方法? ......
我写了个jsp页面,然后改动了一下,改动的内容就是在jsp页面的js函数里加了个alert()语句,但是我访问这个页面时,死活都是原来页面的内容,我加了很多alert函数还是没改动前的页面内容;tomcat重启了,也重新部署这 ......
如题。。
现在小弟 刚刚接触 flex 想找一个 具体的例子 (如 登陆 注册的 功能实现 )。。
java 和 flex 通信的
配置文件 java 代码 flex 前台 AS 脚本 最好 都 写上去。。。。
小弟 项研究研究。。。 ......