0 0

线程?还是其他的实现0

前景:我有个请求类似批量导入
然后我导入1000条数据,我点击导入,忽然发现我有几条是错的,我想通过前台的一个按钮去终止我当前的导入方法并且回滚事务,求大神指点
2013年9月02日 17:37

5个答案 按时间排序 按投票排序

0 0

    ,程序在执行过程中,即时你忽然发现了问题,也没啥办法吧,也要等执行结束了再调试
不过你这"忽然"挺神奇的

2013年9月04日 10:10
0 0

“忽然发现我有几条是错的”这个是怎么发现的?
如果批量处理,应该是处理之后才发现的吧。那就记录导入的数据,删掉错误的,修改后重新导入。
如果是批量处理过程中发现的,那说明你已经有显示处理过程的线程了,那在这个地方增加停止的按钮,出发这个事件时让批量处理的线程停止。
从你的标签看应该是web ajax程序吧,可以用上一个回答中的方法,在session中方标志

2013年9月03日 16:59
0 0

。。你可以点击按钮后,给session里放一个状态,
如果在程序一批批执行的之前,拿这个状态,就break 并且comit、

2013年9月03日 09:18
0 0

让你的方法支持interrupted

2013年9月03日 08:30
0 0

这显然是不同的俩个事务了:
客户需求可谓是变态,完全把系统当成变形金刚,不过我觉得可以换个方式实现这个:
   首先,考虑一种情况,系统已经处理完成了,这时发现错了,难道还能有什么事物之类的说法吗? 所以可以统一处理做个确认流程就是了。
比如在数据库表中添加标示字段为当前导入内容,前台添加确认或者回退按钮,但发现问题后可以点击回退按钮,将数据库中相应记录删除。
  没必要马上终结当前方法(不太现实)。

2013年9月02日 17:56

相关推荐

    什么是线程?Java中如何创建和管理线程?(java面试题附答案).txt

    一个程序可以包含多个线程,这些线程可以同时运行,共享程序的内存空间和其他资源,从而使得程序能够在多核处理器上更加高效地利用计算资源。 ### Java中如何创建和管理线程 #### 创建线程的两种主要方式 1. **...

    用VB6实现多线程

    - **资源管理**:每个线程都有自己的堆栈,合理管理内存和其他资源对性能和稳定性至关重要。 - **异常处理**:线程可能抛出未捕获的异常,需要有适当的异常处理机制来确保程序的健壮性。 通过以上知识,我们可以...

    用户级线程的介绍,怎样实现多线程等等

    线程是计算机编程中的一个重要概念,它是一个进程中执行的不同控制流,可以理解为程序执行的独立路径。...无论是用户级线程还是内核级线程,都有其适用的场合和局限性,选择哪种方式需要根据实际应用的需求来权衡。

    Linux 线程实现分析

    #### 四、其他的线程实现机制 - **核心级线程(Core-Level Threads)**:核心级线程是由操作系统内核直接管理和调度的线程。这种方式通常用于支持多处理器系统,线程可以直接被调度到不同的处理器上,从而充分利用...

    VB 实现多线程

    这是因为主线程退出后,其他仍在运行的线程尝试访问已被释放的资源。 **解决方法**: 1. **调整循环次数**:将线程函数内的循环次数调整为一个合理的数值,例如100,以确保线程会在合理的时间内结束。 2. **显式...

    多线程两种实现方式Java

    无论你是通过继承`Thread`还是实现`Runnable`,都需要对线程同步和通信有深入的理解,以便在实际项目中解决并发问题。通过实践`ThreadProject`这样的实战项目,你可以更好地将理论知识应用于实际场景,从而提高编程...

    MFC中利用多线程实现定时器

    其中,多线程技术可以用于实现复杂的并发操作,包括创建定时器功能。本篇文章将详细探讨如何在MFC中利用多线程来实现定时器。 首先,我们需要了解MFC中的`CWinThread`类,它是所有线程的基础类。创建一个新的线程时...

    基于mongoose实现Http Server(多线程)

    值得注意的是,mongoose 6.7及更高版本可能已经改变了多线程的实现方法,因此理解旧版代码对于升级或迁移至关重要。 **mongoose的多线程使用** 1. **线程池设计**:在多线程HTTP服务器中,通常会使用线程池来管理...

    Linux下基于socket多线程并发通信的实现

    在实际的多线程并发通信实现中,服务器端需要维护一个线程池,当有新的连接请求时,从线程池中获取一个空闲线程处理请求,处理完成后线程返回线程池。这种方式提高了系统的并发性能,同时也保证了资源的有效利用。 ...

    mybaits 多线程 实现数据批量插入 (运用CountDownLatch实现闭锁)

    在Java并发编程中,`CountDownLatch`是一个同步辅助类,它允许多个线程等待其他线程完成操作。在批量插入数据的场景下,可以创建一个CountDownLatch对象,初始化为线程的数量,每个线程处理完自己的数据后调用`...

    实现Runnable接口创建多线程.docx

    由于Java的单继承特性,当一个类需要继承其他类时,就不能再直接继承`Thread`,这时实现`Runnable`接口就成为创建线程的优选方案。本篇将深入探讨如何通过实现`Runnable`接口来创建多线程,以及如何使用`Thread`类的...

    thread 线程类 实现runnable接口

    "Thread 线程类实现 Runnable 接口" Thread 线程类是 Java 中 Thread 和 Runnable 接口的实现,它提供了线程的基本操作和管理。下面是对 Thread 类的详细介绍: 1. Runnable 接口 Runnable 接口是 Thread 类的...

    java实现多线程文件传输

    `Runnable`接口更利于实现多线程,因为它允许实现类与其他接口一起使用,而`Thread`类则直接提供了线程操作的方法。 2. **ExecutorService与ThreadPoolExecutor**:Java并发框架中的`ExecutorService`是线程池的...

    java多线程模拟队列实现排队叫号

    同样,在`ServiceThread`中,我们可能使用`Object.wait()`和`Object.notify()`或者`Condition`来实现线程间的同步,确保每次只有一个客户正在接受服务。 ```java public class CustomerThread extends Thread { ...

    C#线程互锁和线程中调用控件实现传值

    如果锁已被其他线程持有,那么当前线程将被阻塞,直到锁被释放。这确保了在同一时刻,只有一个线程能够执行互锁代码块内的语句。 接下来,我们讨论线程中调用控件的问题。在Windows Forms或WPF应用程序中,UI控件...

    Java多线程实现异步调用实例

    在本实例中,我们将深入探讨如何使用Java实现多线程以实现异步调用,并理解其背后的机制。 首先,多线程允许一个程序同时执行多个任务。在Java中,我们可以通过继承`Thread`类或实现`Runnable`接口来创建线程。在这...

    易语言实现增强多线程命令

    在易语言中,实现增强多线程命令是一项重要的技术,这对于编写高效、并发性强的程序至关重要。 多线程是现代软件开发中的一个核心概念,它允许多个任务在同一时间执行,提高了程序的执行效率和响应速度。在易语言中...

    C语言多线程实现

    在C语言中实现多线程是一项重要的编程技术,特别是在Windows环境下。本文将深入探讨如何在Windows操作系统下,利用Microsoft Visual Studio 2015(VS2015)进行C语言多线程程序的开发。我们将关注三个核心部分:线程...

    Linux 线程实现机制分析

    轻量进程在内核层面为线程提供支持,每个线程都有自己的执行上下文,但共享进程的其他资源,如文件描述符、信号处理等。 然而,LinuxThreads存在一些局限性,比如在处理信号时,信号会被发送到整个进程,而非特定...

    c#线程结束后,实现的委托回调函数源码

    通过委托,我们可以将方法作为参数传递给其他方法,实现回调机制。 在C#中,`System.Threading`命名空间提供了对线程操作的支持。我们可以通过创建`Thread`对象来启动新线程,而`Thread.Start()`方法用于启动线程。...

Global site tag (gtag.js) - Google Analytics