有时,您需要测试功能的同时性能,并且不想使用其他工具来简单地制作自己的开发语言。有一个并发请求是最方便的。
在Java中模拟并发请求自然是方便的。只要您打开几个线程,就可以启动请求。但是,这种请求通常具有启动顺序,并且同时并不是同时发生的!
我该如何同时真正同时发生?
这是我想在本文中说的。Java提供了一个锁定倒数插图,最适合于做这种事情。
只需要:
其执行的效果如下图所示:
httpclientop工具,您可以使用成熟的工具软件包,也可以自己编写一个简短的访问方法,请参见以下内容:
如上所述,可以启动真正的并发请求。
请求操作过程的示意图如下:
在这里设置了一扇门,以确保所有线程都可以同时生效。但是,在这里,它只是语言级别,并且在同一时间并不是绝对同时发生的。特定的呼叫也取决于CPU的数量,线程数和操作系统的线程调度函数,但是我们不需要纠缠这些功能,重点是理解原理!
与CountDownLatch有类似的功能,并且有一个工具围栏循环行动器,在等待所有线程达到某个点之后,它也提供了一定的操作。尽管锁定了前面提到的锁定countdownlatch,尽管所有线程都在启动之前达到了所有线程,他的触发点实际上是最后一个开关,因此焦点是不同的。
简要介绍一下围栏是如何同时同时发生的?该示例如下:
操作的结果如下所示:
每个人都有自己的应用程序方案,关键是需求。就本文的需求而言,个人更愿意使用锁,因为它更可控制。但是还有更多的代码,因此您喜欢它!