240 發(fā)簡信
IP屬地:陜西
  • kotlin協(xié)程的使用與原理

    協(xié)程 協(xié)程是輕量級線程搜骡,一個線程中可以有很多協(xié)程凌外,協(xié)程本質(zhì)上可以認為是運行在線程上的代碼塊,協(xié)程提供的掛起操作會使協(xié)程暫停執(zhí)行赎婚,而不會導致線程阻塞刘绣。協(xié)程的實現(xiàn)大多都在編譯器操...

  • 2023-01-13T11:00:52.573 start:0
    2023-01-13T11:00:52.574-> pool-1-thread-1開始讀取文件 0
    2023-01-13T11:00:53.151-> pool-1-thread-1結(jié)束讀取文件0,文件大小為:535M挣输,使用時間為:577
    .
    2023-01-13T11:00:53.151 end:0
    2023-01-13T11:00:53.152 start:1
    2023-01-13T11:00:53.152-> pool-1-thread-1開始讀取文件 1
    2023-01-13T11:00:53.670-> pool-1-thread-1結(jié)束讀取文件1纬凤,文件大小為:535M,使用時間為:518
    .
    2023-01-13T11:00:53.670 end:1
    2023-01-13T11:00:53.670 start:2
    2023-01-13T11:00:53.670-> pool-1-thread-1開始讀取文件 2
    2023-01-13T11:00:54.177-> pool-1-thread-1結(jié)束讀取文件2撩嚼,文件大小為:535M停士,使用時間為:507
    .
    2023-01-13T11:00:54.177 end:2
    2023-01-13T11:00:54.177 start:3
    2023-01-13T11:00:54.177-> pool-1-thread-1開始讀取文件 3
    2023-01-13T11:00:54.690-> pool-1-thread-1結(jié)束讀取文件3,文件大小為:535M完丽,使用時間為:513
    .
    2023-01-13T11:00:54.690 end:3
    2023-01-13T11:00:54.690 start:4
    2023-01-13T11:00:54.690-> pool-1-thread-1開始讀取文件 4
    2023-01-13T11:00:55.194-> pool-1-thread-1結(jié)束讀取文件4恋技,文件大小為:535M,使用時間為:503
    .
    2023-01-13T11:00:55.194 end:4

    這是打印的數(shù)據(jù)

    kotlin協(xié)程的使用與原理

    協(xié)程 協(xié)程是輕量級線程逻族,一個線程中可以有很多協(xié)程蜻底,協(xié)程本質(zhì)上可以認為是運行在線程上的代碼塊,協(xié)程提供的掛起操作會使協(xié)程暫停執(zhí)行聘鳞,而不會導致線程阻塞薄辅。協(xié)程的實現(xiàn)大多都在編譯器操...

  • fun main(){
    f()
    }

    fun f() = runBlocking {
    //創(chuàng)建自定義線程池
    val coroutineDispatcher = Executors.newFixedThreadPool(1).asCoroutineDispatcher()
    repeat(5) { // 啟動大量的協(xié)程
    launch(coroutineDispatcher) {
    println("${LocalDateTime.now()} start:${it}")
    readFile(it)
    println(".")
    println("${LocalDateTime.now()} end:${it}")
    }
    }

    }

    private fun readFile(i:Int): Long {
    val start = System.currentTimeMillis()
    println("${LocalDateTime.now()}-> ${Thread.currentThread().name}開始讀取文件 ${i}")

    val path = "/Users/pjgao/IdeaProjects/data/gldrawable${i}.zip"
    val file = File(path)
    val readBytes = file.readBytes()

    val fileSize = readBytes.size / 1024 / 1024
    //val fileSize = 0
    val useTime = System.currentTimeMillis() - start
    println("${LocalDateTime.now()}-> ${Thread.currentThread().name}結(jié)束讀取文件${i},文件大小為:${fileSize}M抠璃,使用時間為:$useTime")
    return useTime
    }

    這是測試代碼

    kotlin協(xié)程的使用與原理

    協(xié)程 協(xié)程是輕量級線程站楚,一個線程中可以有很多協(xié)程,協(xié)程本質(zhì)上可以認為是運行在線程上的代碼塊搏嗡,協(xié)程提供的掛起操作會使協(xié)程暫停執(zhí)行源请,而不會導致線程阻塞。協(xié)程的實現(xiàn)大多都在編譯器操...

  • 這邊有個 關(guān)于協(xié)程 彻况,對io操作的疑惑谁尸。我這邊自定義一個分發(fā)器。底層是單個固定線程的線程池纽甘。然后基于這個分發(fā)器開多個協(xié)程 去讀取文件良蛮。發(fā)現(xiàn)讀取的時間還是相當于一個個讀的時間,并沒有并發(fā)的效果悍赢。按前面 “關(guān)于IO操作” 的說法决瞳,應該對于多個文件是可以做到并發(fā)讀的效果?

    kotlin協(xié)程的使用與原理

    協(xié)程 協(xié)程是輕量級線程左权,一個線程中可以有很多協(xié)程皮胡,協(xié)程本質(zhì)上可以認為是運行在線程上的代碼塊,協(xié)程提供的掛起操作會使協(xié)程暫停執(zhí)行赏迟,而不會導致線程阻塞屡贺。協(xié)程的實現(xiàn)大多都在編譯器操...

  • :smile:

    Java JVM及相關(guān)概念

    1泻仙、概述 JVM是Java Virtual Machine(Java虛擬機)的縮寫,是一種用于計算設(shè)備的規(guī)范量没,它是一個虛構(gòu)出來的計算機玉转,是通過在實際的計算機上仿真模擬各種計算...

  • OOP 五大設(shè)計原則

    1、概述 OOP(Object-oriented programming),指面向?qū)ο蟪绦蛟O(shè)計殴蹄。也是目前主流的程序設(shè)計思想究抓。這邊討論下由Robert C. Martin在21...

  • 120
    OpenGL ES 3.0(七)顏色和光照

    1、概述 前面幾篇關(guān)于OpenGLES的文章: OpenGL ES 2.0 顯示圖形(上) OpenGL ES 2.0 顯示圖形(下) OpenGL ES 3.0(一)綜述 ...

  • 國內(nèi)的手機要去應用市場下個ARCore組件才行袭灯。

    ARCore 使用Sceneform 創(chuàng)建ARApp

    1漩蟆、概述 在前面一篇文章 ARCore相關(guān) 里已經(jīng)討論過一些關(guān)于AR 和ARCore的概念了,并基于OpenGL ES實現(xiàn)了一個ARApp 的demo妓蛮。OpenGL ES是內(nèi)...

  • OpenGL ES 3.0(六)攝像機

    1怠李、概述 前面幾篇關(guān)于OpenGLES的文章: OpenGL ES 2.0 顯示圖形(上) OpenGL ES 2.0 顯示圖形(下) OpenGL ES 3.0(一)綜述 ...

  • @lllaa 看你這提示是這個glutInit已經(jīng)在mac OS10.9 版本以后被棄用了啊。

    OpenGL ES 3.0(五)坐標系

    1蛤克、概述 前面幾篇關(guān)于OpenGLES的文章: OpenGL ES 2.0 顯示圖形(上) OpenGL ES 2.0 顯示圖形(下) OpenGL ES 3.0(一)綜述 ...

  • 120
    OpenGL ES 3.0(五)坐標系

    1捺癞、概述 前面幾篇關(guān)于OpenGLES的文章: OpenGL ES 2.0 顯示圖形(上) OpenGL ES 2.0 顯示圖形(下) OpenGL ES 3.0(一)綜述 ...

  • OpenGL ES 3.0(四)矩陣變換

    1、概述 前面幾篇關(guān)于OpenGLES的文章: OpenGL ES 2.0 顯示圖形(上) OpenGL ES 2.0 顯示圖形(下) OpenGL ES 3.0(一)綜述 ...

  • OpenGL ES 3.0(三)紋理

    1构挤、概述 前面幾篇文章OpenGL ES 3.0(一)綜述 髓介、OpenGL ES 3.0(二)GLSL與著色器 討論到可以為每個頂點添加顏色來增加圖形的細節(jié),從而創(chuàng)建出有趣的...

  • OpenGL ES 3.0(二)GLSL與著色器

    1筋现、概述 在上一篇文章OpenGL ES 3.0(一)綜述 中提到唐础,著色器(Shader)是運行在GPU上的小程序。這些小程序為圖形渲染管線的某個特定部分而運行矾飞。從本質(zhì)上來說...

  • 120
    Java NIO相關(guān)

    1一膨、概述 傳統(tǒng)的流IO對于大部分的IO場景, 能適應的比較好。但是, 由于它的阻塞性, 也就是說每一個流的讀寫都需要占用一個線程洒沦。這意味著, 流IO的可伸縮性很差豹绪。因此, 就...

亚洲A日韩AV无卡,小受高潮白浆痉挛av免费观看,成人AV无码久久久久不卡网站,国产AV日韩精品