我从GreenRobot EventBus documentation看到,使用线程模式BACKGROUND
使用单个后台线程,并使用线程模式ASYNC
使用线程池。
任何人都知道BACKGROUND
线程模式使用的后台线程是否与ASYNC
线程模式使用的线程分开并且不同?
我问,因为我想使用BACKGROUND
线程模式进行快速事件(比如本地文件访问),我想对慢(呃)事件(如网络调用)使用ASYNC
线程模式。 ..如果BACKGROUND
事件永远不等待ASYNC
事件完成,我自然会喜欢它。
答案 0 :(得分:0)
GreenRobot团队here的回复如下:
每个队列都有自己的队列(AsyncPoster,BackgroundPoster)并且都使用 相同的缓存线程池ExecutorService。所以是的,他们不应该 相互阻挡。
但是,如果您始终使用
String
,那么这些也不会相互阻挡 因为每个人都会使用自己的线程(文档甚至警告too many concurrent threads)。