java - Twilio 线程消息

标签 java multithreading twilio

如果我想启动一个将使用 twilio 发送短信的线程, 这样做更好吗

TwilioRestClient client = new TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN);

对于每个线程,或者我应该创建一个客户端并与线程共享它?

最佳答案

您可以查看 twilio-java 的 TwilioRequestClient 类的源代码辅助库在这里:https://github.com/twilio/twilio-java/blob/master/src/main/java/com/twilio/sdk/TwilioRestClient.java

我没有看到任何明显线程安全的东西。我唯一关心的是构造函数中的这部分代码:

//Grab the proper connection manager, based on runtime environment
ClientConnectionManager mgr = null;
try {
    Class.forName("com.google.appengine.api.urlfetch.HTTPRequest");
    mgr = new AppEngineClientConnectionManager();
} catch (ClassNotFoundException e) {
    //Not GAE
    mgr = new ThreadSafeClientConnManager();
    ((ThreadSafeClientConnManager) mgr).setDefaultMaxPerRoute(10);
}

它为每次初始化生成一个新的线程池,所以我想说共享资源。另一方面,它是否有足够的可用连接来有效地处理您的负载?

您可以在此处阅读有关 ThreadSafeClientConnManager 的更多信息:https://hc.apache.org/httpcomponents-client-4.3.x/httpclient/apidocs/org/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager.html#setDefaultMaxPerRoute%28int%29

底线,尝试根据您的预期使用情况对其进行负载测试,并调整源以满足您的需求。

关于java - Twilio 线程消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23016255/

相关文章:

java - 如何在方法中从数组中删除值?

java - 在多线程环境中生成 PDF

c++ - 与 OpenSSL 的多线程通信

typescript - 推断链式函数的 ReturnType<>

java - GWT 客户端和桌面运行服务器之间的客户端/服务器通信

Java - jsoup 获取具有特定字符串的元素

c++ - 为什么 ZeroMQ 不使用其内部线程等待(接收/发送)?

c# - 使用任务在多线程 C# 中进行异常跟踪

Twilio 已完成的房间 - 可以重新连接/重新创建吗?

Twilio,如何将新的监听器用户添加到已经开始的呼​​叫中?