知识大全 java破解ip屏蔽+多线程同步拨号

Posted

篇首语:少年辛苦终身事,莫向光阴惰寸功。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 java破解ip屏蔽+多线程同步拨号相关的知识,希望对你有一定的参考价值。

  单线程 破解ip屏蔽 比较容易 只要拨号就行了

  多线程抓取数据也比较容易 但是引入多线程之后 拨号就容易出现问题

  多线程抓取的时候 这个拨号就比较麻烦一点 因为 多线程拨号

  会出现 第一个线程拨号的时候 第二个线程也同时进入拨号 第三个  个  同样会进入 这样会导致线程一直在拨号 导致无限循环

  怎么控制这个拨号同步 达到较高的效率呢

  本人是新手 采用了比较简单的方法

  就是 第一个开始拨号 就告诉后面的 我已经在拨号了

  你们反正抓取不了数据 那就先等一等 等我第一个拨号完毕 大家所有线程在进行下一轮的循环抓取数据

   线程类

  其中

  AdslThead isadsl = true; 就是用来设置 告诉后面的线程 已经有人在拨号了

  package yjf util;

  import java util Date;

  import java util List;

  public class GetWebThread extends Thread

  /**

  * 线程

  */

  public void run()

  try

  while (true)

  int day = ;

  long time = new Date() getTime()

  //用来同步抓取线程

  synchronized( searchthead )

  Main thisdaycount++;

  if(Main thisdaycount>Main daycount)

  break;

  

  System out println( 开始查询第 +(Main thisdaycount)+ 天 )

  Thread sleep( )

  day = Main thisdaycount ;

  

  //获取抓取的时间

  String datetext = TimeUtil date format(TimeUtil addDaysForDate(day))

  String[] txt =FileUtil getCityByTxtFile()

  for(int t= ;t<txt length;t++)

  String[] way = txt[t] split( \\\\| )

  String start = way[ ];

  String end = way[ ];

  //抓取到的数据列表

  List<DataBean> datalist = Main getDataList(datetext start end)

  if(datalist!=null)

  Main isadsl = ;

  CheckAdsl adsllasttime = new Date() getTime()

  FileUtil addDataToFileCsv(datalist)

  Main log printLog( ==== +datetext+ = +start+ = +end+ = +t+ =数据总数 +datalist size())

  else

  Thread sleep( )

  AdslThead isadsl = true;

  Thread sleep( )

  //判断是否正在拨号 并暂停线程

  while (AdslThead isadsl)

  Thread sleep( )

  

  t ;

  

  

  long time = new Date() getTime()

  Main log printLog(datetext+ ==查询完毕=========耗时 +(time time ))

  

   catch (Exception e)

  Main log printLog(e getMessage())

  e printStackTrace()

  

  

  

   拨号监听线程

  package yjf util;

  import java util Date;

  import java util TimerTask;

  public class AdslThead extends TimerTask

  public static boolean isadsl = false;

  @Override

  public void run()

  try

  if(isadsl)

  System out println( 拨号线程线程启动 )

  ConnectAdslNet reconnectAdsl( 宽带 Main adslname Main adslpass)

  isadsl = false;

  

   catch (Exception e)

  System out println(e getMessage())

  

  

  

   启动拨号监听程序   每隔一段时间 循环一次 这样稳定性 准确性更高

  Timer adsl=new Timer()

cha138/Article/program/Java/hx/201311/25815

相关参考

知识大全 Java多线程同步具体实例讲解

Java多线程同步具体实例讲解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java多线程同步

知识大全 浅谈Java多线程的同步问题

浅谈Java多线程的同步问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  多线程的同步依靠的是

知识大全 Java多线程共享数据、同步、通信

Java多线程共享数据、同步、通信  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一线程共享数据

知识大全 Java多线程锁如何进行数据同步共享

Java多线程锁如何进行数据同步共享  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java多线

知识大全 Java多线程问题之同步器CyclicBarrier

Java多线程问题之同步器CyclicBarrier  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 Java多线程的同步示例及对象锁机制

Java多线程的同步示例及对象锁机制  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!    java

知识大全 Java多线程同步-BusyFlag或Lock

Java多线程同步-BusyFlag或Lock  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我

知识大全 Java多线程同步设计中使用Metux

Java多线程同步设计中使用Metux  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Mutex

知识大全 Java多线程对耗时方法的同步问题

Java多线程对耗时方法的同步问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  各位大牛小弟现

知识大全 Java开发中多线程同步技巧[3]

Java开发中多线程同步技巧[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nb