求助,新建一个线程实现延时操作

问题描述

相机两次拍照,第一次触发后,第二次延时1s后触发拍照,现在想把第二次新建一个线程,该如何改呢,谢谢大神们,代码如下:if(m_bDeviceCapture==true){if(GlobalVariable.GMPC_OutStr=="")GlobalVariable.GCam_IO1=2;elseGlobalVariable.GCam_IO1=GlobalVariable.redNo[int.Parse(GlobalVariable.GMPC_OutStr)-1];//相机是否采集?是否触发左边的(左、右处理算法不一样)?,2014-05-26if(numbers[e.SrcNum]==GlobalVariable.GCam_IO1&&GlobalVariable.GIO_CloseData==(GlobalVariable.GCam_IO1-1<1?6:(GlobalVariable.GCam_IO1-1)))//触发1左{if(GlobalVariable.GClockwise==true)m_IamgeNo=3;elsem_IamgeNo=1;LogFile.Log.Info(string.Format("左侧光电拍照,栏位:{0},光电开关:{1}",GlobalVariable.GMPC_OutStr,GlobalVariable.GCam_IO1));SoftTriggerCommand(m_hDevice[0],0);}//2016-06-08,第二次延时拍照,延时时间在参数设置中设置if(GlobalVariable.GIO_CloseData==GlobalVariable.GCam_IO1){if(GlobalVariable.GClockwise==true)m_IamgeNo=1;elsem_IamgeNo=3;if(GlobalVariable.GMPC_OutStr!=""){inti=int.Parse(GlobalVariable.GMPC_OutStr)-1;intWaitTime=GlobalVariable.WaitNo[i];Thread.Sleep(WaitTime);Application.DoEvents();SoftTriggerCommand(m_hDevice[0],0);Stringdelaytime=WaitTime.ToString();LogFile.Log.Info(string.Format("延时拍照,栏位:{0},延时时间:{1}",GlobalVariable.GMPC_OutStr,delaytime));}elseSoftTriggerCommand(m_hDevice[0],0);}

解决方案

本帖最后由 qq_15116049 于 2016-07-11 11:40:04 编辑

时间: 2024-09-08 08:04:45

求助,新建一个线程实现延时操作的相关文章

java中关于启动一个线程的问题

问题描述 java中关于启动一个线程的问题 start( )方法是不是只能用于启动可以线程,还有什么其他方面的用法吗 解决方案 start仅仅是运行线程的run方法而已 解决方案二: 你的意思是..想问start()这个方法在其他地方有没有同名的方法?还是想问,还有没有其他方法能启动线程? 解决方案三: java新建一个线程 解决方案四: Thread的start方法就是启动线程的,但是别的类的这个方法是什么作用就不一定了.

两个线程同时操作一个集合,一个线程读,一个线程写。有可能会产生并发问题吗?

问题描述 两个线程同时操作一个集合,一个线程读,一个线程写.有可能会产生并发问题吗? 我下面的代码为啥没有并发问题? 请哪位大神指导下 class Program { public Thread Threadone; public Thread Threadtwo; public event EventHandler EventRun; public static object obj=new object(); ArrayList ListArry = new ArrayList(); pri

JAVA多线程(三个猴子分桃)操作,为什么总是出现一个线程,求大神!

问题描述 JAVA多线程(三个猴子分桃)操作,为什么总是出现一个线程,求大神! public class ThreadDemo { int mutex = 100; boolean isRun = true; int i = 0; public static void main(String[] args) { Monkey m = new ThreadDemo().new Monkey(); new Thread(m, "1").start(); new Thread(m, &quo

多线程中操作数据库,resultset还未结束当前操作,己被另一个线程提前关闭而出错

问题描述 先来看我的线程 private DataHandle dh = new DataHandle(); public synchronized void runTask() { try { dh.handle(pbean.getStartNo(), pbean.getEndNo()); } catch (Exception e) { e.printStackTrace(); // TaskManagerBean.returnItem(); } 这个是我的线程,里面用到一个叫DataHand

求助如何用程序新建一个物理表

问题描述 VF数据库,C#.NET如何用程序新建一个物理表.stringconnString=System.Configuration.ConfigurationSettings.AppSettings["VfpQZJ"];//连接串OdbcConnectionconn=newOdbcConnection();conn.ConnectionString=connString;conn.Open();//stringsql="CreateTablea1(vnointeger,n

Android ThreadUtil 线程公共类,判断是否在主线程/ 子线程执行 相关操作

前言:通常,我们写的公共的模块给别人用,但是这个模块又必须在特定的线程中执行.         比如,一个加载网络图片的的方法,需要在子线程中执行. /** * 加载网络图片 */ private void loadImage() { try { //用延时3秒操作来模拟网络操作 Thread.sleep( 3000 ); } catch (InterruptedException e) { e.printStackTrace(); } } 但是其他的同事在使用的时候,可能一不小心就在主线程中执

Android延时操作的三种方法

在Android开发中我们可能会有延时执行某个操作的需求,例如我们启动应用的时候,一开始呈现的是引导页面,3秒后进入主界面,这就是一个延时操作. 下面是实现延时操作的三种方法: 一.使用线程的休眠实现延时操作 new Thread(new Runnable() { @Override public void run() { Thread.sleep(1000); // 休眠1秒 /** * 延时执行的代码 */ } }).start(); 二.使用TimerTask实现延时操作 Timer ti

第一次使用Android Studio时你应该知道的一切配置(二):新建一个属于自己的工程并安装Genymotion模拟器

[正文] 都说了放假不休息,奏是这么任性!!!  [开发环境] 物理机版本:Win7旗舰版(64位) Android Studio版本:1.1正式版 一.新建工程: 1.新建一个Project: 打开Android Studio,新建一个Project,界面如下: 上图中,设置好工程名和路径之后,接下来可以一路next: 二.Android Studio使用方法: 1.修改项目结构视图: Project新建完了以后,默认的结构如下: 上图可以看到,AS的目录结构和Eclipse中有很大区别,我们

在Android中使用Handler和Thread线程执行后台操作

大家都知道,在PC上的应用程序当需要进行一些复杂的数据操作,但不需要界面UI的时候 ,我们会为应用程序专门写一个线程去执行这些复杂的数据操作.通过线程,可以执行例如 :数据处理.数据下载等比较耗时的操作,同时对用户的界面不会产生影响.在Android应用 程序开发中,同样会遇到这样的问题.当我们需要访问网络,从网上下载数据并显示在我们 的UI上时,就会启动后台线程去下载数据,下载线程执行完成后将结果返回给主用户界面线 程. 对于线程的控制,我们将介绍一个Handler类,使用该类可以对运行在不同