首页 文章
  • 0 votes
     answers
     views

    为什么调试和发布模式下的线程执行顺序不同?

    我在Visual Studio 2010,Windows XP SP3中运行下面的C#代码 . 在“无需调试启动”(通过Ctrl F5或从菜单中),输出: 你好主要Worker 你好 “从调试开始”(通过F5或菜单)显示相反的顺序: Worker 问好主要你好 多次检查 . 它具有可重复性和可重复性 .为什么? using System; using System.Threading; ...
  • 1 votes
     answers
     views

    在线程流淌的高工作负载下流露异常

    我有一个运行6.4.0.Final的Drools程序,在进行一些并发测试时,我们收到了以下异常 . 代码为每次触发规则创建一个新的kSession,然后处理它 . 两个线程无法访问同一个会话但是共享了kBase . 什么可能导致这种性质的例外? 代码是: KieBase kBase = ruleContainer.kBase if (kBase == null) { ...
  • 1 votes
     answers
     views

    寻找并发交换作为apache camel splitter的输入

    我正在实现一个从数据库中读取行的路由,使用拆分器拆分它们,并行处理它们并聚合和更新数据库 . 当分路器路径只有一个输入时,一切都按预期工作 . 示例代码 - <route> <from uri="direct:splitter"/> <log message="batch id- $simple{heade...
  • 0 votes
     answers
     views

    骆驼:如何并行处理IMAP电子邮件?

    我正在尝试创建一个Camel路由,它将并行处理传入的IMAP消息 . 邮件组件应将传入的邮件分发到不同的线程(但每条消息应按顺序通过两个处理步骤) . 像这样的东西: from("imap://...") .threads(4) .process(new FirstProcessor()) .process(new SecondProcessor());...
  • 0 votes
     answers
     views

    Apache骆驼的Seda的并发消费者

    我有一条如下所述的路线 . 路由定期轮询目录并读取大型.csv文件 . 然后它将文件拆分为1000行,并将其发送到seda queue(firstQueue) . 我在这个seda队列中有15个并发消费者 . route.split().tokenize("\n", 1000).streaming().to("seda:firstQueue?concurrentC...
  • 5 votes
     answers
     views

    PHP开发人员关于Java for Web Development的问题

    我有几年用PHP开发Web应用程序的经验,我也广泛使用Java(但从未用于Web应用程序开发) . 我正在完成一个大型项目,过去六个月我一直在使用PHP / CodeIgniter构建并使用CloudControl托管(提供自动服务器配置和可伸缩性) . 该项目进展顺利,PHP满足了我的需求 - 但现在我正处于开发面向企业用户的Web应用程序的开始阶段,我正在考虑将Java(可能是'Grails'...
  • 1 votes
     answers
     views

    如何用Camel提高效率?

    我的项目使用Camel和Esper component有效率问题 . 我有几个外部数据源向camel endpoints 提供信息 . 接收数据的每个Camel endpoints 将其传输到处理它的路由,然后在Esper endpoints 传递它 . 下图说明了此行为: 效率问题是所有这些都是由一个Java线程完成的 . 因此,如果我有很多来源,那就是一个巨大的瓶颈 . 以下代码准确地说明了...
  • 1 votes
     answers
     views

    多线程:如何管理调用所有会话错误访问的DLL的MVC Action?

    我有一个ActiveReports [ActiveReports版本8,.Net] DLL,我的代码在 Print 控制器的 Preview 动作中调用 . 出于某种原因,当用户同时访问它时(当然是来自不同的会话),数据会被破坏,他们会看到彼此的数据或缺少数据 . public ActionResult Preview(int? id) { if (id != null) ...
  • 2 votes
     answers
     views

    太多停车等待线程

    我正在分析应用程序挂起,并通过线程转储,我有90%的工作线程处于这种状态: “pool-3-thread-352”#13082 prio = 5 os_prio = 0 tid = 0x00007ff6407fc800 nid = 0x1e94等待条件[0x00007ff5a53b4000] java.lang.Thread.State:TIMED_WAITING(停车)at sun.misc....
  • 0 votes
     answers
     views

    VB.Net循环内的异步背景工作者

    我正在使用Vb.net visual studio 2008.我有一个进程(system.diagnostics.process)在后台运行,它更新了Ui线程进度条和一个标签,我使用backgroundworker.runworkerAsync进行了工作 . 现在问题是我必须使用不同的输入多次使用相同的过程 . 代码块是: Private Sub fnStartEvent(ByVal sender...
  • 0 votes
     answers
     views

    取消连续从网络流中读取的后台工作程序

    我有一个运行的TCP服务器,它定期发出2个字节的消息 . 我正在尝试创建一个连接到服务器的客户端表单,并从流中连续读取,直到我单击表单上的断开连接按钮 . 到目前为止客户端工作正常,除了我无法断开连接 . 我将CancellationPending设置为true,但在dowork方法有机会设置e.Cancel之前似乎重置为false . 我也确定必须有一种更可接受的方式来连续读取流并写入表单 - ...
  • 2 votes
     answers
     views

    在e.cancel = true之后,后台工作程序不会运行“RunWorkerCompleted”;

    这是dowork代码 . 我甚至介入过这个 . 在e.cancel = true之后,DoWork再次运行,它进入while循环,它再次将e.Cancel设置为true,然后退出该函数并且从不运行Completed函数 . private void backgroundWorker2_DoWork(object sender, DoWorkEventArgs e) { Ba...
  • 1 votes
     answers
     views

    .NET 3.5多线程

    使用.NET 3.5 . 我有一个函数,我想进行多线程调用 . 用户当前设置应用程序中的最大线程数,然后使用新的Thread(Run).Start()在for循环中将它们旋转 . Run函数在while循环中运行,直到类级别boolean设置为false . 我希望能够做的是允许用户在应用程序运行后端进程时更改maxThread值,并让应用程序调整运行的线程数量 . 在.NET 3.5中是否有某...
  • -5 votes
     answers
     views

    在Win32 Api中使用多线程[关闭]

    我想学习如何在win32 api中使用多线程 . 我有这个课程项目,我需要完成,我确实尝试做一个像鼓垫的应用程序,(当我打一个,我有多个按钮,它播放声音)它很容易,但我不能按第二个按钮,而第一个按钮(声音)正在工作 . 我的导师说我需要使用多线程 . 这是我的代码 . switch (wmId) { case 'Q': { SendMessage(hQ, WM_LBUTTONDOWN, 0, 0...
  • 3 votes
     answers
     views

    perl:多线程写和尾文件

    我正在研究perl多线程的简单用例:一个线程写入文件,另一个线程写入文件 . 这是代码: use strict; use warnings; use threads; use File::Tail; my $file = 'data.txt'; sub tail_file{ my $file=File::Tail->new($file); while (defined(my...
  • 0 votes
     answers
     views

    Java:守护进程:thread.join()没有完成,当在一个线程中抛出异常时

    我写了一个Java守护进程(一个实现守护进程和Runnable的类),现在我遇到了以下问题: 在init()中,我创建了一个新线程 . Thread thread = new Thread(this); 在start()中我启动新线程 . thread.start() . 在运行中我做了很多不同的事情......然后发生异常 . (在我的例子中:NullPointerException...
  • 0 votes
     answers
     views

    等待守护程序线程挂起应用程序

    我写了一个多线程的应用程序,运行良好,直到今天早上我得到错误 * at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod...
  • 0 votes
     answers
     views

    Java守护程序线程在WEBLOGIC服务器中突然关闭

    我们的J2EE Web应用程序中有守护程序线程,它们将从入站种子文件提供给应用程序的数据 . 多个业务活动有多个守护进程,它们将及时为应用程序的数据库提供数据 . 假设一个线程用于材料定义(Item)创建,一个线程用于在Data Base中创建Material(Lot) . 抽象的Thread run方法代码如下 1. while(true) 2. { 3. 4. if(busi...
  • 1 votes
     answers
     views

    非守护程序线程输出有时会消失,直到使用join()

    我只用 two threads 进行了一个小测试,如下所示: import static java.lang.System.out; @Test public void testTwoSimpleThreads() { doInParallelAsync(() -> { out.println("First Ok"); ...
  • 10 votes
     answers
     views

    @Async阻止线程继续,直到其他线程完成

    我有一个应用程序,其中需要计算一定数量的东西 . 此计算函数具有注释@Async(来自Spring Framework),这使得可以在4个线程上运行这些计算 . 问题是我需要大约40000个这些计算,我想知道所有计算的开始和结束之间的时间,所以我看到调用计算函数的for循环之前和之后的时间 . 但是现在所有的计算都被放入队列中,因此for循环立即结束,时间就像1秒钟,而计算完成需要几个小时 . 我...
  • 4 votes
     answers
     views

    pthread_join()是否允许在调用线程上继续执行?

    edit: 我错误地假设线程开始在 pthread_join 上运行,当它们真正开始在 pthread_create 上运行时 . 我'm learning to use Posix threads, and I'读过:pthread_join() - wait for thread termination 因此,在代码示例中,在两个启动线程结束之前,不会到达main的exit(0) .但是在第...
  • 0 votes
     answers
     views

    当Foreach循环中的其他线程正在运行时阻止主线程

    我正在创建一个新线程来在foreach循环的每次迭代期间执行一些代码 . 这些线程完成后,我希望主线程继续执行,但我不知道如何做到这一点 . 我不能为每次迭代调用 Thread.Join() ,因为这将阻止主线程继续foreach循环,直到创建的线程完成 . 这是代码块,其中 testEnvironments 是类型字符串的List: foreach (string s in testEnviro...
  • 0 votes
     answers
     views

    关于并行运行线程并在之后返回

    下面是我写的一个类,其中的目的是我们从并行运行的主程序创建不同的线程,主线程在所有线程完成执行后恢复执行 . 代码中的t.join将下一个线程连接到第一个线程 . 假设有2个线程,随机数生成器生成8和9作为整数,则主线程在17秒后恢复 . 目的是并行创建线程,使主线程在第9秒后恢复(第一个线程在前8秒完全运行,然后第二个线程在接下来的1秒内完成执行) . 是否可以通过更改以下代码来创建此类代码? ...
  • 4 votes
     answers
     views

    两个线程同时完成并访问相同的方法

    我正在学习Java中的多线程,所以现在我正在创建经典的Tortoise和Hare竞赛应用程序 . 对于那些不熟悉这个问题的人来说,基本上有两个赛车手: 一只野兔在每个循环中跑100米但有90%的机会休息而不是跑步 一只乌龟在每个循环中跑10米,但从不休息 第一个达到1000米的是赢家 . 我的代码现在看起来像这样: 主要课程: public class THRace { st...
  • 5 votes
     answers
     views

    当一个线程到达目的地时,其他线程停止

    我目前正致力于理解多线程的Java概念 . 我经历了一个使用Tortoise和Hare示例的教程来解释多线程的概念,并且在很大程度上我理解了视频教程的语法和逻辑 . 在视频教程的最后,Youtuber做了一项任务,涉及将多线程应用于奥运赛道 . 使用我的示例中的知识,我能够创建在循环内运行的10个线程(代表运动员),执行100次(代表100米) . 我的挑战是,当线程调度员使运动员在其他9名运动员...
  • 1 votes
     answers
     views

    C#在继续之前等待来自所有线程的信号

    我正在编写一个C#程序,它涉及多线程之间的多线程和同步 . 线程都需要独立执行一些迭代工作,并且在一些线程完成指定的迭代次数之后,它必须等待其他线程出现 . 在完成所有迭代次数并获得一些中间结果之后,它们应该进行一些同步工作,然后再次继续执行,直到达到另一个同步点,依此类推 . 这是我尝试实现这一点(一个线程应该在一次迭代后暂停,然后等待其他迭代): int nThreads = Environm...
  • 334 votes
     answers
     views
  • 0 votes
     answers
     views

    如何立即关闭执行程序服务中的所有线程?

    我使用了 shutDown() 和 shutDownNow() ,但这两种方法都没有立即停止所有线程 . shutDownNow() 在这两者中更为可取,但它等待正在运行的线程完成它的任务 . 在我的场景中,我有一个处理 postgres 数据库的巨大任务,我想立即关闭该线程而不等待执行完成 . 什么是立即关闭所有线程的方法?
  • 2 votes
     answers
     views

    关闭ExecutorService的两个实例

    我需要在一种方法中正确关闭Executor Service的两个实例 . 这是我的简化代码: ExecutorService executor1 = Executors.newSingleThreadExecutor(); ScheduledExecutorService executor2 = Executors.newSingleThreadScheduledExecutor(); // lo...
  • 3 votes
     answers
     views

    如何在python中杀死守护程序线程(2.7)

    当主线程退出时,守护程序线程会发生什么?他们是如何关闭的?有没有办法确保执行清理代码? 这是我的情况草图: import os import subprocess import threading import glob import datetime def do_big_job(result='result.txt'): tmpfile = result+'.tmp' err...

热门问题