欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
java 大量數據提交時(shí),使用隊列定時(shí)提交思路的程序實(shí)現


思路如下:

一個(gè)隊列,提交的信息不斷的放入隊列;

每隔一段時(shí)間定時(shí)提交一次,不管隊列中元素是否達到預定的個(gè)數;

 

模擬程序的思路:

開(kāi)啟兩個(gè)線(xiàn)程,一個(gè)模擬數據提交;另一個(gè)模擬數據讀?。ㄈ〕鰜?lái)插入數據庫);

 

代碼如下:

 Thread1.java

  1. package cn.zhangshibo.liaocheng.test;  
  2.   
  3. import java.util.LinkedList;  
  4. import java.util.Queue;  
  5. import java.util.Random;  
  6.   
  7. public class Thread1 extends Thread {  
  8.     Queue<String> queue = new LinkedList<String>();  
  9.     private static int m = 1;  
  10.   
  11.     public Thread1(Queue<String> queue) {  
  12.         this.queue = queue;  
  13.     }  
  14.   
  15.     @Override  
  16.     public synchronized void run() {  
  17.         while (true) {  
  18.             Random rnd = new Random();  
  19.             int len = rnd.nextInt(10);// 每次隨機生產(chǎn)10個(gè)一下個(gè)元素加入隊列  
  20.   
  21.             for (int i = 0; i < len; i++) {  
  22.                 queue.offer("element:" + (m++));  
  23.             }  
  24.             System.out.println("當前運行的線(xiàn)程是:" + Thread.currentThread().getName() + "\t 本次新加入元素數:" + len + "\t 隊列中元素總數是:"  
  25.                     + queue.size());  
  26.             try {  
  27.                 Thread.sleep(rnd.nextInt(5000));// 隨機休眠5秒之內的時(shí)間  
  28.             } catch (InterruptedException e) {  
  29.                 e.printStackTrace();  
  30.             }  
  31.         }  
  32.     }  
  33. }  


Thread2.java

  1. package cn.zhangshibo.liaocheng.test;  
  2.   
  3. import java.util.LinkedList;  
  4. import java.util.Queue;  
  5.   
  6. public class Thread2 extends Thread {  
  7.     private Queue<String> queue = new LinkedList<String>();  
  8.     private static int j = 1;  
  9.   
  10.     public Thread2(Queue<String> queue) {  
  11.         this.queue = queue;  
  12.     }  
  13.   
  14.     public synchronized void run() {  
  15.         while (true) {  
  16.             String str;  
  17.             while (!queue.isEmpty()) {  
  18.                 int k = 10;// 每次提交數設置為10,可以根據需要修改  
  19.                 while ((str = queue.poll()) != null) {  
  20.   
  21.                     --k;  
  22.                     System.out.println(k + "\t" + str);  
  23.                     if (k == 0) {  
  24.                         break;  
  25.                     }  
  26.                 }  
  27.   
  28.                 System.out.println("當前運行的線(xiàn)程是:" + Thread.currentThread().getName() + "\t 第" + j + "次提交!隊列還剩元素數:"  
  29.                         + queue.size());  
  30.                 j++;  
  31.                 try {  
  32.                     Thread.sleep(5000);// 每次提交以后休眠5秒  
  33.                 } catch (InterruptedException e) {  
  34.                     e.printStackTrace();  
  35.                 }  
  36.             }  
  37.         }  
  38.     }  
  39. }  


Test.java

  1. package cn.zhangshibo.liaocheng.test;  
  2.   
  3. import java.util.LinkedList;  
  4. import java.util.Queue;  
  5.   
  6. public class Test {  
  7.     public static void main(String[] args) {  
  8.         Queue<String> queue = new LinkedList<String>();  
  9.         // 創(chuàng )建兩個(gè)線(xiàn)程,讓其不間斷運行  
  10.         Thread1 t1 = new Thread1(queue);// 線(xiàn)程1模擬隨機添加元素  
  11.         Thread2 t2 = new Thread2(queue);// 線(xiàn)程2模擬每隔5秒每次提交10個(gè)元素  
  12.   
  13.         t1.setName("線(xiàn)程一");  
  14.         t2.setName("線(xiàn)程二");  
  15.   
  16.         t1.start();  
  17.         t2.start();  
  18.     }  
  19. }  


 

運行結果:

當前運行的線(xiàn)程是:線(xiàn)程一  本次新加入元素數:8  隊列中元素總數是:7
9 element:1
8 element:2
7 element:3
6 element:4
5 element:5
4 element:6
3 element:7
2 element:8
當前運行的線(xiàn)程是:線(xiàn)程二  第1次提交!隊列還剩元素數:0
當前運行的線(xiàn)程是:線(xiàn)程一  本次新加入元素數:4  隊列中元素總數是:4
當前運行的線(xiàn)程是:線(xiàn)程一  本次新加入元素數:4  隊列中元素總數是:8
當前運行的線(xiàn)程是:線(xiàn)程一  本次新加入元素數:0  隊列中元素總數是:8
9 element:9
8 element:10
7 element:11
6 element:12
5 element:13
4 element:14
3 element:15
2 element:16
當前運行的線(xiàn)程是:線(xiàn)程二  第2次提交!隊列還剩元素數:0
當前運行的線(xiàn)程是:線(xiàn)程一  本次新加入元素數:6  隊列中元素總數是:6
9 element:17
8 element:18
7 element:19
6 element:20
5 element:21
4 element:22
當前運行的線(xiàn)程是:線(xiàn)程二  第3次提交!隊列還剩元素數:0
當前運行的線(xiàn)程是:線(xiàn)程一  本次新加入元素數:2  隊列中元素總數是:2
當前運行的線(xiàn)程是:線(xiàn)程一  本次新加入元素數:3  隊列中元素總數是:5
9 element:23
8 element:24
7 element:25
6 element:26
5 element:27
當前運行的線(xiàn)程是:線(xiàn)程二  第4次提交!隊列還剩元素數:0
當前運行的線(xiàn)程是:線(xiàn)程一  本次新加入元素數:5  隊列中元素總數是:5
當前運行的線(xiàn)程是:線(xiàn)程一  本次新加入元素數:5  隊列中元素總數是:10
9 element:28
8 element:29
7 element:30
6 element:31
5 element:32
4 element:33
3 element:34
2 element:35
1 element:36
0 element:37
當前運行的線(xiàn)程是:線(xiàn)程二  第5次提交!隊列還剩元素數:0
當前運行的線(xiàn)程是:線(xiàn)程一  本次新加入元素數:5  隊列中元素總數是:5
當前運行的線(xiàn)程是:線(xiàn)程一  本次新加入元素數:8  隊列中元素總數是:13
9 element:38
8 element:39
7 element:40
6 element:41
5 element:42
4 element:43
3 element:44
2 element:45
1 element:46
0 element:47
當前運行的線(xiàn)程是:線(xiàn)程二  第6次提交!隊列還剩元素數:3
當前運行的線(xiàn)程是:線(xiàn)程一  本次新加入元素數:5  隊列中元素總數是:8
9 element:48
8 element:49
7 element:50
6 element:51
5 element:52
4 element:53
3 element:54
2 element:55
當前運行的線(xiàn)程是:線(xiàn)程二  第7次提交!隊列還剩元素數:0
當前運行的線(xiàn)程是:線(xiàn)程一  本次新加入元素數:3  隊列中元素總數是:3
當前運行的線(xiàn)程是:線(xiàn)程一  本次新加入元素數:8  隊列中元素總數是:11
當前運行的線(xiàn)程是:線(xiàn)程一  本次新加入元素數:1  隊列中元素總數是:12
9 element:56
8 element:57
7 element:58
6 element:59
5 element:60
4 element:61
3 element:62
2 element:63
1 element:64
0 element:65
當前運行的線(xiàn)程是:線(xiàn)程二  第8次提交!隊列還剩元素數:2
當前運行的線(xiàn)程是:線(xiàn)程一  本次新加入元素數:0  隊列中元素總數是:2
當前運行的線(xiàn)程是:線(xiàn)程一  本次新加入元素數:4  隊列中元素總數是:6
當前運行的線(xiàn)程是:線(xiàn)程一  本次新加入元素數:5  隊列中元素總數是:11

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Monitor.Pulse() - Monitor.Wait() msdn示例分析 - a...
Java 理論與實(shí)踐: 線(xiàn)程池與工作隊列
java.util.concurrent介紹A
【ffmpeg學(xué)習記錄】ffplay的大致流程
JAVA中常見(jiàn)的阻塞隊列詳解
數據結構與算法:10 隊列與多線(xiàn)程
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久