首页 文章
  • 0 votes
     answers
     views

    并发:如何防止两个不同类中的两个方法同时运行?

    我有一个用例,我必须防止两个不同的类中的两个不同的方法同时运行,即如果类A有方法X而类B有方法Y,我必须确保当methodX被执行时,我在methodX完成之前,不应允许方法Y执行或阻止执行 . class A{ @Scheduled methodX(){ } } class B{ methodY(){} } 一点背景,这里 methodX 是一个调度进程,负责...
  • 1 votes
     answers
     views

    在异常时获取任务的状态

    我正在构建一个需要执行许多并发任务的应用程序 . 这些任务包含对不同异步方法的多次调用(大多数情况下,它使用HttpClient查询一些REST API),中间有一些处理,我真的不想在任务中捕获异常 . 相反,我宁愿在使用WhenAny / WhenAll方法等待它们时这样做 . 当获得异常时,我还需要捕获该任务的一些源数据以供将来分析(例如,将其写入日志中) . 有一个Task.AsyncSta...
  • 0 votes
     answers
     views

    与顺序执行相比,为什么并发http请求与时间相同?

    我在python3中学习并发执行 .我不知道为什么跟随http请求函数与时间一样,尽管有一个使用concurrent.futures.ThreadPoolExection,其他人没有 . import urllib.request as ur import concurrent.futures def concurrent_exe(): # concurrent exection functio...
  • 0 votes
     answers
     views

    如何使用信号量同步执行函数X和Y的3个进程?

    有3个进程同时执行 X() 和 Y() 重复执行 . 要求: 只有最多2个进程可以执行 Y() ,也就是说,当它看到另外两个进程正在执行 Y() 函数时,最后一个进程应跳过 Y() 函数 . 当前不允许执行 Y() 的进程仍应执行 X() 函数 . X() 可以同时由所有3个进程执行 这是我的伪代码,使用信号量的传统P和V操作定义,其中ProcA ProcB和ProcC是 conc...
  • 2 votes
     answers
     views

    线程池,其中工作者既是 生产环境 者又是消费者

    我有一个无限制的作业队列,可以异步处理 . 每个作业的处理可能会也可能不会触发为此队列创建新作业 . 我想要一个由几个工作线程组成的池来从这个队列中取出项目并并行处理它们,直到队列都为空 and 所有工作线程都空闲等待队列中的新作业(因为繁忙的工作者可能最终添加新的工作到队列) . 有没有使用 java.util.concurrent 实现的方法,我可以用它来解决这个特殊问题, Worker 也是...
  • 204 votes
     answers
     views

    在Python中发送100,000个HTTP请求的最快方法是什么?

    我正在打开一个有100,000个网址的文件 . 我需要向每个URL发送一个http请求并打印状态代码 . 我使用的是Python 2.6,到目前为止,我看到了Python实现线程/并发的许多令人困惑的方式 . 我甚至看过python concurrence库,但无法弄清楚如何正确编写这个程序 . 有没有人遇到类似的问题?我想通常我需要知道如何尽快在Python中执行数千个任务 - 我想这意味着'c...
  • 132 votes
     answers
     views

    迭代ConcurrentHashMap值是否安全?

    在ConcurrentHashMap的javadoc中如下: 检索操作(包括get)一般不会阻塞,因此可能与更新操作重叠(包括put和remove) . 检索反映了最近完成的更新操作的结果 . 对于诸如putAll和clear之类的聚合操作,并发检索可能反映仅插入或删除某些条目 . 类似地,Iterators和Enumerations在迭代器/枚举的创建时或之后的某个时刻返回反映哈希表状态的元素...
  • 85 votes
     answers
     views

    线程之间是否共享静态变量?

    我的老师在一个关于线程的上层java课上说了一些我不确定的东西 . 他表示以下代码不一定会更新 ready 变量 . 根据他的说法,两个线程共享相同的寄存器/缓存/等,一个CPU不会更新另一个 . 从本质上讲,他说 ready 可能在主线程中更新,但不在ReaderThread中更新,因此ReaderThread将无限循环 . 他还声称该程序可以打印'0'或'42' . 我理解如何打印'42',但...
  • 796 votes
     answers
     views
  • 2 votes
     answers
     views

    使用套接字TCP在python中下载文件

    我正在编写一个TCP并发(基于进程的并发)服务器,它接受一个下载命令 . 客户端应该从服务器下载文件,截至目前我已经下载了硬编码的文件名以便测试我的下载算法 . 我查找了一个示例download algorithm并使用了该代码中使用的while循环 . 我认为我的问题是,其中一个while循环(或者它们两个)都被挂起并且不会结束 . 我相信它是客户端,它可能正在等待更多的fileContent ...
  • 4 votes
     answers
     views

    等待/通知的奇怪java行为

    我发现java并发的奇怪行为 . 请参阅下面的代码: public class Test { static CountDownLatch latch = new CountDownLatch(1); public static void main(String[] args) throws UnsupportedEncodingException, Interrup...
  • 20 votes
     answers
     views

    如何通过线程访问Runnable对象?

    可能重复:need-help-returning-object-in-thread-run-method 你好 . 我有一个实现runnable的类,我有一个List,存储用该类的不同对象实例化的Threads . 在线程对象运行它们的情况下,如何访问底层对象的属性?这是一个例子: public class SO { public static class TestRunnable imp...
  • 317 votes
     answers
     views

    Java 8并行流中的自定义线程池

    是否可以为Java 8 parallel stream指定自定义线程池?我找不到任何地方 . 想象一下,我有一个服务器应用程序,我想使用并行流 . 但是应用程序很大且是多线程的,因此我想将它划分为区分 . 我不想在另一个模块的应用程序块任务的一个模块中执行缓慢的任务 . 如果我不能为不同的模块使用不同的线程池,则意味着在大多数现实情况下我无法安全地使用并行流 . 请尝试以下示例 . 在单独的线程中...
  • 4 votes
     answers
     views

    如何使用ForNpgsqlUseXminAsConcurrencyToken创建的EF Core并发令牌

    我找到了npgsql provider extension为实体框架核心实体设置并发令牌,它应该做这样的事情: modelBuilder.Entity<MyEntity>(b => { b.Property<uint>("xmin") .HasColumnType("xid") .Valu...
  • 0 votes
     answers
     views

    并行汇总数组

    我有以下算法来总结数组的元素: // global index = 0 array = [...] total_sum = 0 // this is what we're interested in // per thread thread_sum = 0 mutex.lock() while (index < array.size) { mutex.unlock() threa...
  • 2 votes
     answers
     views

    Rabbitmq队列的多个使用者是否可能获得相同的消息?

    我负责维护用Golang编写的 生产环境 软件,该软件使用RabbitMq作为其消息队列 .考虑以下情况: 许多goroutine正在发布到队列名称日志 . 另一组goroutines从队列中读取并将消息写入MongoDB集合 . 每个发布者或消费者分别拥有自己的连接和自己的通道,他们正在无限循环中工作,永不死亡 . (程序启动时 Build 连接和通道 . ) autoAck ...
  • 737 votes
     answers
     views

    收藏被修改;枚举操作可能无法执行

    我无法理解这个错误的底部,因为当附加调试器时,它似乎不会发生 . 以下是代码 . 这是Windows服务中的WCF服务器 . 只要存在数据事件,服务就会调用NotifySubscribers方法(以随机间隔,但不常见 - 每天约800次) . 当Windows窗体客户端订阅时,订户ID将添加到订阅者字典中,当客户端取消订阅时,将从字典中删除它 . 客户端取消订阅时(或之后)发生错误 . 看来,下次...
  • 0 votes
     answers
     views

    如果不为null,则选择更新,但带有异常或返回值

    我有两个线程,都需要更新同一行 .该行看起来像: (id,firstName,lastName) (1,"xxxx",null) 1是主键值 更新看起来像: Update table set lastName = "yyy" where id = 1 and lastName = null; 我想要的是如果一个线程成功地将null last...
  • 3 votes
     answers
     views

    并行运行多个JPA事务

    我有两个(或更多)Java线程使用JPA从mysql数据库创建,更新和删除实体 . 为了实现这一点,我有一个PersistenceLayer类创建EntityManager并为我的所有实体提供保存,更新和删除方法,如下所示: public void saveEntity(Entity entity) { manager.getTransaction().begin(); manag...
  • 0 votes
     answers
     views

    Linux线程中的文件段/段/记录锁

    我有一个多线程进程,其中一个文件由多个线程共享(读取和写入) . 有什么方法线程可以锁定一个文件段,以便其他线程无法访问它?我试过了 fcntl(fd, F_SETLKW, &flock) ,但是这个锁仅适用于进程,而不适用于线程(进程中所有线程之间共享一个锁) .
  • 210 votes
     answers
     views

    什么是Haskell对Node.js的响应?

    我相信Erlang社区并不羡慕Node.js,因为它本身可以进行非阻塞I / O,并且可以轻松地将部署扩展到多个处理器(甚至没有内置在Node.js中) . 更多细节见http://journal.dedasys.com/2010/04/29/erlang-vs-node-js和Node.js or Erlang 那么Haskell呢? Haskell能否提供Node.js的一些好处,即一个干净的...
  • 0 votes
     answers
     views

    是否有使用线程池的std :: async实现?

    标准函数std::async: 模板函数async异步运行函数f(可能在一个单独的线程中,它可能是线程池的一部分)并返回一个最终将保存该函数调用结果的std :: future . 有两个发布政策std::launch::async and std::launch::deferred . 在我的编译器( GCC 6.2 )标准库中,第一个总是创建一个新线程,第二个在调用线程上进行延迟评估 . ...
  • 1 votes
     answers
     views

    tcp通过对等方重置连接

    我有一个问题是启动超过90000的多个go例程通过POST对同一服务器进行http请求,服务器和客户端都在本地,一些请求成功执行,其中一些给我这个响应 read: connection reset by peer 请注意我在提供的示例中发布了少量数据,但实际上我使用protobuf发送了大量数据 . 这是服务器https://play.golang.org/p/r1-rYNuAos package...
  • 1 votes
     answers
     views

    Http请求/并发?

    假设我的localhost上的网站大约需要3秒钟来完成每个请求 . 这很好,正如预期的那样(因为它在幕后做了一些奇特的网络) . 但是,如果我在选项卡中打开相同的URL(在firefox中),然后同时重新加载它们,它似乎按顺序加载每个页面而不是同时加载所有页面 . 这是怎么回事? 在Windows Server 2008 iis和Windows 7 iis上试过了
  • 3 votes
     answers
     views

    PHP并发HTTP请求?

    我想知道在PHP中进行并发HTTP请求的最佳方法是什么?我有很多数据可以获取,我宁愿一次做多个请求来检索所有数据 . 有人知道我怎么做吗?最好是匿名/回调函数mannor ... 谢谢, 汤姆 .
  • 8 votes
     answers
     views

    并发http请求没有响应

    我正在玩Go,我遇到了一个我无法解决的问题 . 以下代码是重现我的问题的最不可能的代码 . 原始代码的目标是将http请求委托给goroutines . 每个goroutine做了一些沉重的图像计算,并应该响应 . package main import ( "fmt" "runtime" "net/http" ...
  • 0 votes
     answers
     views

    http请求 - camel的并发性

    是否存在任何能够每秒处理> 20个http请求的骆驼消费者方法?我尝试使用restlet和jetty组件,但两者都失败了 . 例如,我为jetty组件设置了此配置: <bean id="jetty" class="org.apache.camel.component.jetty.JettyHttpComponent"> <pro...
  • 0 votes
     answers
     views

    spring并发spring如何同时处理多个请求

    假设1000个不同的用户同时向浏览器发送了1000个请求,spring如何为每个请求提供服务 . 作为spring bean默认范围uhh s singleton如何工作 .
  • -2 votes
     answers
     views

    为什么并发代码需要更多时间来执行

    我有一个名为linearize的函数...我正在尝试加快执行速度,但惊讶地发现它变慢了 . 我错过了什么或搞砸了基本面...... 根据我的理解,事情应该改善.. 谢谢, package main import ( "fmt" "math" "sync" "time" ) var r...
  • 0 votes
     answers
     views

    在单个线程中使用带有Python的阻塞http库的并发http请求

    所以我有这个问题,我试图以一种特殊的方式解决,但我不确定它有多难实现 . 我想使用Python 3.4的asyncio / coroutines功能来触发许多并发的http请求,使用阻塞的http库,比如请求,或任何执行http请求的Python api,如boto for aws . 我知道run_in_executor()方法在线程/进程中运行任务,但我想避免这种情况 . 我想在单线程中使用L...

热门问题