线程-c#中的三个timer和thread引发异常时的处理

问题描述

c#中的三个timer和thread引发异常时的处理

程序(exe)运行过程中,在没有catch的情况下,发生了异常
form的timer,弹出异常信息框;
threading的timer和thread,直接导致整个程序停止运行,没有弹出异常信息框;
System.Timers.Timer,则是什么事情也没发生。
请问导致这三种情况的原因在哪里,和调试器、未处理异常的侦听器有关么?

解决方案

threading的timer和thread,System.Timers.Timer 都是基于线程的,需要线程同步。form的timer是单线程的。
它们都可以用try catch捕获。

解决方案二:

代码能发出来吗

时间: 2024-11-03 20:53:20

线程-c#中的三个timer和thread引发异常时的处理的相关文章

visual studio-vs中出现类型初始值设定项引发异常。求各位大神指点!!

问题描述 vs中出现类型初始值设定项引发异常.求各位大神指点!! "DotSpatial.Data.Rasters.GdalExtension.GdalHelper"的类型初始值设定项引发异常. 解决方案 只能看到是这个类的构造函数丢出了异常,如果这个类是你写的,需要进一步调试.否则看下文档,是不是调用不正确.

Windows 8开发入门(七) Windows 8 中的三种进度条和两种定时器

在Windows 8中的默认进度条也与时俱进,和之前Silverlight中的不一样.本文将讲述三种不同的进度条 ,另外在本文中也会将两种定时器. 进度条 主要属性: Value:当前进度值. Maximum:最大进度值. IsIndeterminate:指定进度条是否确定. 确定进度条:进度明 确的进度条,已完成进度以另外一种颜色显示 关键代码: <ProgressBar Maximum="100" Value="0" Height="20&quo

线程-mfc中定义大量宏的问题

问题描述 mfc中定义大量宏的问题 我定义了大量的宏,在cmainframe和一个共有类(用于存放一些静态函数和变量,主要是为了线程函数中使用全局变量)中里面的一个函数中需要使用到,我直接把它们放在一个头文件中然后include,就报了error LNK2005: ""struct Zeni_MTS_Rolypon_InOut InOutRoly"" (?InOutRoly@@3UZeni_MTS_Rolypon_InOut@@A) already defined

线程类中可以用静态代码块做初始化静态变量么?这些静态变量会不会有并发问题呢?

问题描述 线程类中可以用静态代码块做初始化静态变量么?这些静态变量会不会有并发问题呢? public class SalesConfirmationUploadThread extends Thread { private boolean result = false; private final SalesConfirmationPipedInputStream input; private long orderId; private String pin; private JingdongS

java线程-java中的多线程?线程的并发问题

问题描述 java中的多线程?线程的并发问题 多线程具体代表java中程序的什么?它指的实际功能上的什么情况?详细求解 解决方案 多线程和进程的关系详解: 1.当我们运行QQ程序时,操作系统就会为这个程序创建一个QQ进程(QQ~PCB)并且分配CPU.内存等资源. 2.但这个进程中包含着:发送大型的线程.接受文件的线程.发送文字信息的线程.发送文字信息的线程等多个不同功能的线程. 因而我们才能一边发送文件,一边发送文字信息同时操作.这些线程都共享着QQ进程中的CPU.内存等资源. 总结:所以说进

java 线程池中如何自定义每个线程名称

问题描述 java 线程池中如何自定义每个线程名称 **java 线程池中如何自定义每个线程名称 java 线程池中如何自定义每个线程名称 ** 解决方案 补充下,线程池的创建线程池对象时,有一个参数是ThreadFactory类型,如果不传递,默认用的是DefaultFactory,我们可以自定义一个ThreadFactory然后作为参数传到进去,这个类里面就可以自定义线程池中创建的线程的名称.api: public ThreadPoolExecutor(int corePoolSize,in

深入理解Java线程编程中的阻塞队列容器_基础知识

1. 什么是阻塞队列? 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列.这两个附加的操作是:在队列为空时,获取元素的线程会等待队列变为非空.当队列满时,存储元素的线程会等待队列可用.阻塞队列常用于生产者和消费者的场景,生产者是往队列里添加元素的线程,消费者是从队列里拿元素的线程.阻塞队列就是生产者存放元素的容器,而消费者也只从容器里拿元素. 阻塞队列提供了四种处理方法: 抛出异常:是指当阻塞队列满时候,再往队列里插入元素,会抛出IllegalStateException("Q

关于线程的中处理集合一些问题. 100分赏金来了

问题描述 整个生产数据的和处理数据的过程都需要快速.希望大侠们帮忙看看,帮小弟指出有什么需要优化的地方和容易出问题的地方//线程1---生产数据publicclassDataForWlanextendsThread{privateCardReaderForWlanrr;publicstaticSet<String>carIdAndTimeSet=Collections.synchronizedSet(newHashSet<String>());publicSet<String

如何在普通类实例的线程过程中,同步调用执行在类实例自身所在的原来的那个线程中的方法

问题描述 如何在普通类实例的线程过程中,同步调用执行在类实例自身所在的原来的那个线程中的方法如后代码,是一个常见的实例,讲的是通过Control.Invoke在线程函数中,同步调用窗体主线程中的Form1实例的普通方法txt.但问题是,很多时候我们自己自定义的类,并不是从Control类继承的,从而也没有这个功能的Invoke方法供调用,这种类要怎么设计呢?虽然说用的示例代码是vb.net的,但严格来说,这个和语言无关,是一个.net开发的基本问题.ImportsSystemImportsSys