线程隔离和信号量隔离调用之间的区别

时间:2016-01-29 04:12:01

标签: multithreading thread-safety threadpool hystrix

我正在浏览Netflix开源功能Hystrix ...... 我看到了一个声明 “今天,Netflix每天都会通过Hystrix执行数百亿的线程隔离的,以及数千亿的信号量隔离的调用”

想知道这些不同类型的电话之间的区别..

1 个答案:

答案 0 :(得分:4)

首先,我们需要看到线程和信号量之间的差异。通常,由于开销,调用线程比信号量更昂贵。因此,对于大量请求/秒,信号量将是您可以考虑的事情。

其次使用信号量,命令将在调用者的线程内执行。这意味着并发调用与其他调用没有完全隔离(不像使用线程时那样)。

最后,使用信号量,当超时时,它不能被终止(除非你专门设置它)。如果您不知道客户的行为是什么,那么这将不是一件好事。