證明創建runnable實例和普通類時間一樣長


import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

//證明創建runnable實例和普通類時間一樣長

public class Test002 {

private ConcurrentLinkedQueue<String> queue = new ConcurrentLinkedQueue<String>();
// private ArrayList<String> queue = new ArrayList<String>();
// private CyclicBarrier barrier = new CyclicBarrier(10000000);
private CountDownLatch latch = new CountDownLatch(100000);
ExecutorService es = Executors.newFixedThreadPool(4);

public static void main(String[] args) {
Test002 test001 = new Test002();
long timeStart = System.currentTimeMillis();
test001.begin();
System.out.println("##線程類實例化10000次時間:"+(System.currentTimeMillis()-timeStart));

timeStart = System.currentTimeMillis();
test001.begin2();
System.out.println("##普通類實例化10000次時間:"+(System.currentTimeMillis()-timeStart));

}

public void begin(){
for (int i = 0; i < 10000; i++) {
Runnable001 runnable001 = this.new Runnable001(i);
}
}
public void begin2(){
for (int j = 0; j < 10000; j++) {
Runnable002 Runnable002 = this.new Runnable002(j);
// new Thread(); // 時間主要花在創建線程上,使用runnable接口不占用時間
}
}

private class Runnable001 implements Runnable{
private int value;
public Runnable001(int value) {
this.value = value;
}

public void run() {

try {
// barrier.await();
} catch (Exception e) {
e.printStackTrace();
}
queue.offer(value + "");
latch.countDown();//latch計數減一
}

}
private class Runnable002 {
private int value;
public Runnable002(int value) {
this.value = value;
}

public void run() {

try {
// barrier.await();
} catch (Exception e) {
e.printStackTrace();
}
queue.offer(value + "");
latch.countDown();//latch計數減一
}

}
}

轉載于:https://www.cnblogs.com/fengdaren/p/9765922.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/396565.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396565.shtml
英文地址,請注明出處:http://en.pswp.cn/news/396565.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql數據庫維護_維護MySQL數據庫表

在本教程中&#xff0c;我們將向您介紹一些非常有用的語句&#xff0c;使您可以在MySQL中維護數據庫表。MySQL提供了幾個有用的語句&#xff0c;可以有效地維護數據庫表。 這些語句使您能夠分析&#xff0c;優化&#xff0c;檢查和修復數據庫表。分析表語句MySQL查詢優化器是My…

node-glob 正則表達式

https://github.com/isaacs/node-glob轉載于:https://www.cnblogs.com/chris-oil/p/6507368.html

機器學習筆記—再談廣義線性模型

前文從線性回歸和 Logistic 回歸引出廣義線性回歸的概念&#xff0c;很多人還是很困惑&#xff0c;不知道為什么突然來個廣義線性回歸&#xff0c;有什么用&#xff1f;只要知道連續值預測就用線性回歸、離散值預測就用 Logistic 回歸不就行了&#xff1f;還有一些概念之間的關…

python連接access數據庫odbc_對Python通過pypyodbc訪問Access數據庫的方法詳解

看書上通過ODBC訪問數據庫的案例&#xff0c;想實踐一下在Python 3.6.1中實現access2003數據庫的鏈接&#xff0c;但是在導入odbc模塊的時候出現了問題&#xff0c;后來查了一些資料就嘗試著使用pypyodbc&#xff0c;最后成功了。操作步驟&#xff1a;①安裝pypyodbc目前Python…

mysql異機備份

xx.xx..4.43----xx.xx..4.51 1、配置client通過密鑰來連接server 43機器上&#xff1a; /root/.ssh 目錄下執行 ssh-keygen -t rsa ls /root/.ssh會發現在/root/.ssh下生成一對密鑰id_dsa和id_dsa.pub&#xff0c;將生成的公鑰id_dsa.pub拷貝到server的/root/.ssh目錄下&#…

周末想找個地方敲代碼_觀看我們的代碼游戲,全周末直播

周末想找個地方敲代碼by freeCodeCamp通過freeCodeCamp 觀看我們的代碼游戲&#xff0c;全周末直播 (Watch us Code Games Live All Weekend) Note: this was originally published on our now-defunct blog on July 15, 2015.注意&#xff1a;該文章最初于2015年7月15日發布在…

5.7和5.6的mysql_mysql5.6和5.7的區別

展開全部MySQL 5.7 已經開發兩年了。相比 MySQL 5.6&#xff0c;有特別多的改進。團隊主要關注速度&#xff0c;性能據報告是比之前62616964757a686964616fe4b893e5b19e31333365643661版本提升了 2 至 3 倍。新特性列表&#xff0c;主要改進&#xff1a;提升 MySQL 安全性改進了…

01:數制轉換

01:數制轉換 查看提交統計提問總時間限制: 1000ms內存限制: 65536kB描述求任意兩個不同進制非負整數的轉換&#xff08;2進制&#xff5e;16進制&#xff09;&#xff0c;所給整數在long所能表達的范圍之內。不同進制的表示符號為&#xff08;0&#xff0c;1&#xff0c;...&am…

局域網只能看到一部分電腦_win10 網上鄰居看不到其它電腦、共享不了文件

最近電腦遇到了局域網文件共享的問題&#xff0c;Win 10 系統在網絡和共享中心里無法看到其他電腦&#xff0c;只能看到本機。確認共享已經打開后&#xff0c;通過查找最終解決。下面是解決流程。1.進入&#xff1a;控制面板 – 網絡和共享中心 – 更改高級共享設置&#xff0c…

javascript 開發_25個新JavaScript開發人員的免費資源

javascript 開發by freeCodeCamp通過freeCodeCamp 25個新JavaScript開發人員的免費資源 (25 Free Resources for New JavaScript Developers) We asked our campers to share their favorite free resources for new JavaScript developers on Camper News. The list includes…

mysql數據庫語法_MySQL數據庫語法(一)

MySQL數據庫語法數據庫管理系統(DBMS)的概述什么是DBMS&#xff1a;數據的倉庫方便查詢可存儲的數據量大保證數據的完整、一致安全可靠DBMS的發展&#xff1a;今天主流數據庫為關系型數據庫管理系統(RDBMS 使用表格存儲數據)常見DBMS&#xff1a;Orcale、MySQL、SQL Server、DB…

作業1---四則運算

一.需求分析&#xff1a; 除了整數以外&#xff0c;還要支持真分數的四則運算&#xff0c;真分數的運算&#xff0c;例如&#xff1a;1/6 1/8 7/24 運算符為 , ?, , 并且要求能處理用戶的輸入&#xff0c;并判斷對錯&#xff0c;打分統計正確率。 要求能處理用戶輸入的真分…

python有序數組中刪除元素_python刷LeetCode:26. 刪除排序數組中的重復項

題目描述&#xff1a;給定一個排序數組&#xff0c;你需要在原地刪除重復出現的元素&#xff0c;使得每個元素只出現一次&#xff0c;返回移除后數組的新長度。不要使用額外的數組空間&#xff0c;你必須在原地修改輸入數組并在使用 O(1) 額外空間的條件下完成。示例 1:給定數組…

mysql數據庫修改數據庫名稱_MySQL數據庫之MySQL 修改數據庫名稱的一個新奇方法...

本文主要向大家介紹了MySQL數據庫之MySQL 修改數據庫名稱的一個新奇方法 &#xff0c;通過具體的內容向大家展現&#xff0c;希望對大家學習MySQL數據庫有所幫助。MySQL在5.1引入了一個rename database操作&#xff0c;但在MySQL5.1.23后又不支持這個命令。可以說是一個實驗性的…

Lesson 001 —— 數據

Lesson 001 —— 數據 數據&#xff08;data&#xff09;是事實或觀察的結果&#xff0c;是對客觀事物的邏輯歸納&#xff0c;是用于表示客觀事物的未經加工的原始素材。數據是信息的表現形式和載體&#xff0c;可以使符號、文字、數字、語音、圖像、視頻等。 進制 進制也就是進…

工作記錄四-etcd與flanneld

######################### etcd用來做flannld的數據中心&#xff0c;記錄flannld各主機子網的配置## flannld使各容器實例處于同一子網內&#xff0c;可以相互訪問####################### ### 一、etcd安裝及使用## 1. 下載編譯二進制包git clone https://github.com/coreos…

C#獲取剛插入的數據的id

在開發程序中我們經常會遇到兩個表或多個表關聯同時插入數據的需求。 那么我們剛給主表插入一條數據&#xff0c;接著給副表插入數據時其中一個字段要存儲與主表關聯的id&#xff0c;那么我們該怎么獲取剛插入的那條數據的id呢&#xff1f; insert infor values(,) ;SELECT Ide…

感謝您的提問_感謝您的反饋,我們正在改進的5種方法

感謝您的提問by freeCodeCamp通過freeCodeCamp 感謝您的反饋&#xff0c;我們正在改進的5種方法 (5 Ways We’re Improving Thanks to Your Feedback) This was originally published on our now-defunct blog on September 17, 2015.該文章最初于2015年9月17日發布在我們現已…

sql三個表join_「數據蔣堂」第 31 期:JOIN 簡化 – 維度對齊

【數據蔣堂】第 31 期&#xff1a;JOIN 簡化 – 維度對齊我們先把上一期中雙子表對齊例子的 SQL 寫出來&#xff1a;SELECT Orders.id, Orders.customer, A.x, B.y FROM Orders LEFT JOIN (SELECT id,SUM(price) x FROM OrderDetail GROUP BY id ) A ON Orders.idA.id LEFT J…

radius

radius協議使用的是UDP傳輸協議&#xff0c;UDP協議相對于TCP更快速&#xff0c;無連接的不可靠。radius協議的包格式&#xff1a;0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1-----------…