什么是闭锁?(ContDownLatch)

佳能相机操作 EDSDK 教程 C# 版本 http://blog.csdn.net/zajin/article/details/17021339 介绍 佳能EOS数码SDK是一个可以用来远程控制其数码单反相机相当强大的SDK。不幸的是,想在互联网上找些很好的例子相当难,而且提供的文档也不是很齐全。因为我已经找到了很多能让其他人更容易掌握它的东西,我就想可以把我认为最重要的东西组织在一起,做成一个教... 阅读详情

在完成某些运算时,只有其他所有线程的运算全部完成,当前运算才继续执行,这就叫闭锁。

java.util.concurrent包中提供了多种并发容器类来改进同步容器的性能。ContDownLatch是一个同步辅助类

**我们的需求是输出0-5000内的所有偶数,然后输出“耗费时间为x秒”。**看下面代码:

public class TestCountDownLatch {
    public static void main(String[] args){
        LatchDemo ld = new LatchDemo();
        long start = System.currentTimeMillis();
        for (int i = 0;i<10;i++){
            new Thread(ld).start();
        }
        long end = System.currentTimeMillis();
        System.out.println("耗费时间为:"+(end - start)+"秒");
    }
}

class LatchDemo implements Runnable{
    private CountDownLatch latch;
    public LatchDemo(){
    }
    @Override
    public void run() {
        for (int i = 0;i<5000;i++){
            if (i % 2 == 0){//50000以内的偶数
                System.out.println(i);
            }
        }
    }
}

​ 这段代码就是10个线程同时去输出5000以内的偶数,然后在主线程那里计算执行时间。其实这是计算不了那10个线程的执行时间的,因为主线程与这10个线程也是同时执行的,可能那10个线程才执行到一半,主线程就已经输出“耗费时间为x秒”这句话了。

所以要想计算这10个线程执行的时间,就得让主线程先等待,等10个分线程都执行完了才能执行主线程。这就要用到闭锁。

看如何使用:

public class TestCountDownLatch {
    public static void main(String[] args) {
        final CountDownLatch latch = new CountDownLatch(10);//有多少个线程这个参数就是几
        LatchDemo ld = new LatchDemo(latch);
        long start = System.currentTimeMillis();
        for (int i = 0; i < 10; i++) {
            new Thread(ld).start();
        }
        try {
            latch.await();//这10个线程执行完之前先等待
        } catch (InterruptedException e) {
        }
        long end = System.currentTimeMillis();
        System.out.println("耗费时间为:" + (end - start));
    }
}

class LatchDemo implements Runnable {
    private CountDownLatch latch;
    public LatchDemo(CountDownLatch latch) {
        this.latch = latch;
    }
    @Override
    public void run() {
        synchronized (this) {
            try {
                for (int i = 0; i < 50000; i++) {
                    if (i % 2 == 0) {//50000以内的偶数
                        System.out.println(i);
                    }
                }
            } finally {
                latch.countDown();//每执行完一个就递减一个
            }
        }
    }
}
佳能(数码相机)SDK使用记录 文章目录前言一、文档脉络图二、使用记录总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、文档脉络图 二、使用记录 EDSDKEDSDK_64两个文件夹,我判断分别为x86x64的库文件,包含dll、libh文件,其中x64版本没有h文件有些奇怪。 VC例程文件夹中有一份pdf文档,考虑是SDK的使用说明。 使用VC版. 阅读详情

相关推荐

Unity控制佳能单反拍照及数据获取

Unity3D控制佳能单反,需要使用佳能的EDSDK,Unity可以控制单反拍照,获取单反实时视频流,下载单反媒体文件。

u010941527的专栏 8162

佳能单反相机开发包(Canon digital camera SDK)3.9.0版本Canon EOS ED-SDK3.9.0

佳能单反相机开发包(Canon digital camera SDK)3.9.0版本Canon EOS ED-SDK3.9.0。 09/25/2018 -Added support for the EOS R -Deleted the description of the older model out of support and deleted the following properties. kEdsPropID_ParameterSet kEdsPropID_ColorMatrix kEdsPropID_Sharpness kEdsPropID_ColorSaturation kEdsPropID_Contrast kEdsPropID_ColorTone kEdsPropID_PhotoEffect kEdsPropID_FilterEffect kEdsPropID_ToningEffect 03/01/2018 -Added support for the Camera EOS M100 。。

C#相机控制应用开发:Canon EDSDK与Nikon SDK实战

SDK(Software Development Kit)是软件开发工具包,包含了一系列的开发工具、库函数、文档指南等,使得开发者可以快速开发特定的应用程序。对于CanonNikon相机的SDK而言,它们提供了直接与相机硬件交互的接口协议,允许开发者控制相机的各种功能,如拍照、调整设置、传输图片视频等。为了实现远程控制尼康相机,开发者需要了解相机支持的通信协议。尼康相机通常支持基于USB或Wi-Fi的通信方式。在USB控制模式下,尼康提供了专有的SDK来实现与相机的通信。

weixin_30218749的博客 1555

佳能单反SDK最新版 Canon_EOS_ED-SDK_v3.6.10

Canon_EOS_ED-SDK_v3.6.1.rar ,含EDSDK、EDSDK_64、文档Document、范例Sample。 Supports models beginning from the EOS 1D Mark III in 2007. The following models are supported as of March 2010. EOS-1D Mark III EOS 40D EOS-1Ds Mark III EOS DIGITAL REBEL Xsi/450D/ Kiss X2 EOS DIGITAL REBEL XS/ 1000D/ KISS F EOS 50D EOS 5D Mark II EOS Kiss X3/EOS REBEL T1i /EOS 500D EOS 7D EOS-1D Mark IV EOS Kiss X4/EOS REBEL T2i /EOS 550D EOS 60D EOS Kiss X5/EOS REBEL T3i /EOS 600D EOS Kiss X50/EOS REBEL T3 /EOS 1100D EOS 5D Mark III EOS 1D X EOS Kiss X6i/EOS 650D/EOS REBEL T4i EOS M EOS 6D EOS-1D C EOS Kiss X7i/EOS 700D /EOS REBEL T5i EOS Kiss X7/EOS 100D/EOS REBEL SL1 EOS 70D EOS M2 EOS Kiss X70/EOS 1200D/EOS REBEL T5/EOS Hi EOS 7D Mark II EOS 5DS / EOS 5DS R / EOS REBEL T6s / EOS 760D / EOS 8000D / EOS REBEL T6i / EOS 750D / EOS Kiss X8i / EOS M3 EOS-1D X Mark II / EOS 80D / EOS Rebel T6 / EOS 1300D / EOS Kiss X80 / EOS M10 EOS 5D Mark IV EOS Kiss X9i / EOS Rebel T7i / EOS 800D / EOS 9000D / EOS 77D / EOS M5 / EOS M6 EOS 6D Mark II / EOS Kiss X9 / EOS Rebel SL2 / EOS 200D Please note: Remote capture functions are not supported for the EOS M/EOS M2/EOS M3/EOS M10/EOS M5/EOS M6.

佳能相机的拍照应用开发canon EDSDK C#

重要提示: Unity 2017开始已经支持到.net 4.5了!!! 可以接入单反的SDK了!!我也很久没有做单反的接入了,所以不要问我了。 关于SDK,中国是没有被允许对主流单反的SDK申请开发,所以可以选择到外国单反官网申请SDK,也可以通过一些网站下载,反正我没有了... ------------------ 原文: 之前已经在unity3d做了一款成品软件 无奈由于u3d...

PA_的博客 1万+

佳能Canon相机SDK-C#版本64位

如题,我常用语言是C#,图像处理库Emgucv,最近处理一些任务的时候,发现佳能相机的SDK官网只有c++等其他语言,好不容易搜搜也只有32位的版本。网搜一坨,到了64位C#语言下,只有一句话:不支持64位,仅提供连接预览,拍照功能会报错。 32位有个巨大的问题就是,内存管理最大到2G,Emgucv的图像处理库说么说C#下内存会自动释放,但即便每次申请新图片用完马上释放也还是眼睁睁看着内存爆到...

qq_26996385的博客 3594

飞利浦与联合利华签署2021年度战略合作备忘录;3M推出全新即时除菌擦拭布 | 美通企业日报...

今日看点:飞利浦与联合利华签署2021年度战略合作备忘录。3M推出全新即时除菌擦拭布。迪桑特全新品牌概念店上海开业。佳能影像产品官方SDK核心提供智慧影像解决方案。艾利丹尼森在中国启...

美通社 1578

蓝牙小钢炮教程1

本文介绍首次使用Cannon(即小钢炮,以下简称“Cannon”)开发平台的一些准备工作,包括: 重要的跳线引脚 烧写器或调试器 开发环境 Cannon代码例程 APP调试工具 强烈建议看完本片介绍后,再进行后续操作,请您有点耐心哦。^_^ 开箱操作¶1. 外观¶ 拿到Cannon后,首先确保硬件外观良好,没有例如假焊、虚焊、漏焊或者PCB损害等

深圳打工仔 1575

佳能单反SDK 步骤

EdsInitializeSDK(); EdsGetCameraList(&eclr);//获取相机列表 EdsGetChildCount(eclr, &camCount); //获取相机数量 edsError = EdsGetChildAtIndex(eclr, 0, &camera); //获取相机句柄,存储在camera里 EdsSetCameraS...

weixin_30535043的博客 3932

佳能单反相机开发包(Canon digital camera SDK)3.9.0版本介绍

佳能单反相机开发包(Canon digital camera SDK)3.9.0版本介绍 【下载地址】佳能单反相机开发包CanondigitalcameraSDK3.9.0版本介绍 佳能单反相机开发包(Canon digital camera SDK)3.9.0版本介绍 ...

gitblog_09755的博客 1290

【亲测免费】 佳能相机SDK:开发者必备的编程利器

佳能相机SDK:开发者必备的编程利器 【下载地址】佳能相机SDK及说明文档 本仓库提供了一个包含佳能数码单反相机开发SDK的资源文件,旨在帮助开发者快速上手佳能相机的编程开发。资源文件内含完整的VC、VB、C#官方代码示例,以及详细的官方API说明文档,为开发者提供了全面的参考资料 ...

gitblog_09710的博客 921

佳能相机SDK及说明文档

包含佳能数码单反相机的开发SDK,内附完整的VC、VB、C#官方代码例子,以及官方API说明文档。

Canon SDK (全套)

This version of the Canon Digital Camera SDK supports the cameras shown below. PowerShot A10, PowerShot A20, PowerShot A30, PowerShot A40, PowerShot A60, PowerShot A70, PowerShot A75, PowerShot A80, PowerShot A85, PowerShot A95 PowerShot A100, PowerShot A200, PowerShot A300, PowerShot A310, PowerShot A400 PowerShot S10, PowerShot S20, PowerShot S30, PowerShot S40, PowerShot S45, PowerShot S50, PowerShot S60, PowerShot S70 PowerShot S100, IXY DIGITAL, DIGITAL IXUS, PowerShot S110, IXY DIGITAL 200, DIGITAL IXUS v, PowerShot S200, IXY DIGITAL 200a, DIGITAL IXUS v2, PowerShot S230, IXY DIGITAL 320, DIGITAL IXUS v3, PowerShot S300, IXY DIGITAL 300, DIGITAL IXUS 300, PowerShot S330, IXY DIGITAL 300a, DIGITAL IXUS 330, PowerShot S400, IXY DIGITAL 400, DIGITAL IXUS 400, PowerShot SD100, IXY DIGITAL 30, DIGITAL IXUS II, PowerShot SD10, IXY DIGITAL L, DIGITAL IXUS i, PowerShot SD110, IXY DIGITAL 30a, DIGITAL IXUS IIs, PowerShot S410, IXY DIGITAL 450, DIGITAL IXUS 430, PowerShot S500, IXY DIGITAL 500, DIGITAL IXUS 500, PowerShot SD20, IXY DIGITAL L2, DIGITAL IXUS I5, PowerShot SD200, IXY DIGITAL 40, DIGITAL IXUS 30, PowerShot SD300, IXY DIGITAL 50, DIGITAL IXUS 40, PowerShot G1, PowerShot G2, PowerShot G3, PowerShot G5, PowerShot G6, PowerShot Pro90 IS, PowerShot S1 IS, PowerShot Pro1 The EOS class of digital cameras are not supported.

佳能相机SDK

提供佳能相机SDK,该SDK可在Windows平台下使用,包括静态库、动态库、头文件、sample,以及说明文档。佳能相机SDK的获取渠道很少!特提供出来,便于大家进行研究学习,希望不要用于商业目的!

Canon SDK 佳能SDK 2016年最新版本,含C++,VB,C#例子

Canon SDK 佳能SDK 2016年最新版本,含C++,VB,C#例子源代码,动态链接库含32位64位版本,只需要更换文件夹名字重新编译即可用。美国境内申请到的SDKV321版,国内拿不到。本人正在进一步开发。

佳能开发包SDK V13.11下载

佳能开发包SDK V13.11下载 【下载地址】佳能开发包SDKV13.11下载 佳能开发包SDK V13.11是专为开发者设计的强大工具包,旨在帮助开发者高效利用佳能设备进行软件开发。该SDK提供了丰富的库文件接口,支持多种开发需求,助您快速构建功能强大的应用程序。使用前请确保具备相关开发经验,并确认设备兼容性。遵循...

gitblog_06705的博客 389

【亲测免费】 佳能开发包SDK V13.13:助力高效设备开发的利器

佳能开发包SDK V13.13:助力高效设备开发的利器 【下载地址】佳能开发包SDKV13.13下载 佳能开发包SDK V13.13 下载 项目地址: https://gitcode.com/open-source-toolkit...

gitblog_09707的博客 736

佳能EOS相机底层控制开发包:EDSDK 3.5完整版(含多语言示例与API文档)

面向Windows平台的佳能EOS相机二次开发工具,提供32/64位动态链接库、头文件及导入库,支持VC、C#、VB等主流开发环境。内含权威API参考手册(EDSDK_API.pdf)、相机控制逻辑图、版本更新说明(ReleaseNote.txt)详细使用指引(readme.txt)。Sample目录下分语言组织可运行工程,覆盖实时取景、远程触发拍摄、曝光参数调节、图像下载与存储等关键操作流程。Document目录集中所有技术文档,Library目录包含静态库与导入库,适配自动化产线检测、科研图像采集、远

echo99的专栏 269
上一篇: Java线程池如何合理配置线程数
下一篇: java学习题目整理
blindore
博客等级 码龄7年 1粉丝 11原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值