国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

java里面多線程,自己寫(xiě)的小例子

2019-11-14 15:16:17
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

    

  某天,在群里看見(jiàn)有個(gè)人 問(wèn) sqlService里面有2000萬(wàn)條數(shù)據(jù) 需要轉(zhuǎn)儲(chǔ)到orcale中。什么方式比較好,后來(lái)一琢磨非多線程莫屬啊~;

我這里沒(méi)有那么多數(shù)據(jù),所以我就模擬了下 一次存入10萬(wàn)條數(shù)據(jù),看有多快~;上代碼。

  在數(shù)據(jù)庫(kù)創(chuàng)建 表 t_test  2個(gè)字段 id  name

    定義一個(gè)類(lèi) 繼承Runnable 實(shí)現(xiàn)run方法

    public class Test implements Runnable{

     //實(shí)現(xiàn)run方法

    public void run() {
 
     //定義一個(gè)集合~這個(gè)集合是用來(lái)裝入存入失敗的數(shù)據(jù)
     List<Integer> list = new ArrayList<Integer>();
        //這里就是要設(shè)置存入的數(shù)據(jù) 200個(gè)
     for (int i = 0; i < 200; i++) {
        
        String sql="INSERT into t_test VALUES(null,"+i+")";
        try {
           //jdbc方式存入,這個(gè)是自己寫(xiě)的工具類(lèi)
           JDBCUtils.executeSQL(sql);
          } catch (Exception e) {
           //當(dāng)出現(xiàn)錯(cuò)誤的時(shí)候 會(huì)把沒(méi)有存入的裝入集合里面
           list.add(i);
            }

      }

      //判斷集合是否為空,不為空證明有數(shù)據(jù)沒(méi)有存入,利用遞歸的方式在進(jìn)行存入

       if(!list.isEmpty()){
        System.out.        dg(list);
       }

      }

       //需要進(jìn)行遞歸的操作

    public void dg(List<Integer> list){
       ArrayList<Integer> list2 = new ArrayList<Integer>();
          for (Integer i : list) {
             String sql="INSERT into t_test VALUES(null,"+i+")";
               try {
                  JDBCUtils.executeSQL(sql);
                 } catch (Exception e) {
    
                  list2.add(i);
                 }
            }
            if(!list2.isEmpty()){
   
               System.out.println("進(jìn)行遞歸");
               dg(list2);
                }else{
   
                   System.out.println("結(jié)束");
                }
  
               }

        

public static void main(String[] args) {

    

     Thread thread = null;

        //開(kāi)啟500跳線程

      for (int i = 0; i < 500; i++) {

          //需要開(kāi)啟線程的類(lèi)

           thread = new Thread(new Test());  

            //開(kāi)啟現(xiàn)成

             thread.start();

                  }

               }

           }

    這只是一個(gè)思路~轉(zhuǎn)儲(chǔ)數(shù)據(jù)庫(kù)的話(huà)其實(shí)和這個(gè)差不多;

 


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 梁平县| 乐都县| 西乌珠穆沁旗| 通渭县| 信宜市| 东乌| 江达县| 朝阳县| 临高县| 浑源县| 三门县| 信阳市| 蒙山县| 吉首市| 诸城市| 南汇区| 侯马市| 临邑县| 凌海市| 桃园市| 定陶县| 昭通市| 普兰店市| 琼结县| 思南县| 日照市| 枣阳市| 右玉县| 南川市| 定安县| 海南省| 邓州市| 白山市| 修水县| 舞阳县| 汉沽区| 禹州市| 枝江市| 元朗区| 八宿县| 乐亭县|