首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >WebSocket从HttpContext.WebSockets.AcceptWebSocketAsync线程安全返回吗?

WebSocket从HttpContext.WebSockets.AcceptWebSocketAsync线程安全返回吗?
EN

Stack Overflow用户
提问于 2018-01-23 09:59:26
回答 1查看 431关注 0票数 0

在ASP.NET核心v2中,HttpContext.WebSockets.AcceptWebSocketAsync线程安全地返回WebSocket吗?

更具体地说,我可以将ReceiveAsync与调用SendAsync(https://msdn.microsoft.com/en-us/library/system.net.websockets.websocket.sendasync(v=vs.110%29.aspx)? )的线程并行调用吗?

我希望能够有一个消息循环接收像关闭事件这样的消息,同时能够发送消息以响应服务器端事件(也就是说,不是响应接收到的事件)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-23 09:59:26

我还没有找到任何说明AcceptWebSocketAsync返回什么实现的文档,但实际上它似乎始终返回一个ManagedWebSocket实例。

我还没有找到任何用于ManagedWebSocket的API文档。幸运的是,源代码已经发布,它包含了以下有用的说明:

螺纹-安全:

  • 并行调用ReceiveAsync和SendAsync是可以接受的。其中一个可以同时运行。
  • 在调用ReceiveAsync或CloseAsync时,有一个挂起的CloseAsync是可以接受的。
  • 试图并行调用任何其他操作可能会破坏实例。试图在另一个正在进行中时调用发送操作或在另一个进程中调用接收操作将导致异常。

- (source1) (source2)

tl;dr:一般不支持线程安全,但支持并行情况下的读取和发送。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48408050

复制
相关文章
ConcurrentHashMap线程安全吗?
没啥深入实践的理论系同学,在使用并发工具时,总是认为把HashMap改为ConcurrentHashMap,就完美解决并发了呀。或者使用写时复制的CopyOnWriteArrayList,性能更佳呀!技术言论虽然自由,但面对魔鬼面试官时,我们更在乎的是这些真的正确吗?整理了100+个Java项目视频+源码+笔记
程序员追风
2020/12/27
1.3K0
ConcurrentHashMap线程安全吗?
java中线程安全的容器_jfinal容器线程安全吗
Java编码中,我们经常需要用到容器来编程。在并发环境下,Java提供一些已有容器能够支持并发。
全栈程序员站长
2022/10/02
7070
java中线程安全的容器_jfinal容器线程安全吗
哪些线程是安全的_redis是线程安全的吗
Java中平时用的最多的map就是hashmap但是它却是线程不安全的。 那除了hashmap还有哪些常见的线程安全的map? 1.hashtable Map<String,Object> hashtable=new Hashtable<String,Object>();
全栈程序员站长
2022/08/03
1.2K0
Servlet 是线程安全的吗?
概要 Servlet 默认是单例模式,在web 容器中只创建一个实例,所以多个线程同时访问servlet的时候,Servlet是线程不安全的。 那么 web 容器能为每个请求创建一个Servlet的实例吗?当然是可以的,只要Servlet实现SingleThreadModel接口,就可以了。 SingleThreadModel 该接口为每次请求创建一个servlet实例。此接口没有方法,跟Serializable接口一样只是一个标识接口。 注意,singlethreadmodel并不能解决所有的线程安全
java404
2018/05/18
2.7K0
从构造函数看线程安全
线程是编程中常用而且强大的手段,在使用过程中,我们经常面对的就是线程安全问题了。对于Java中常见的数据结构而言,一般的,ArrayList是非线程安全的,Vector是线程安全的;HashMap是非线程安全的,HashTable是线程安全的;StringBuilder是非线程安全的,StringBuffer是线程安全的。
半吊子全栈工匠
2018/08/22
1.7K0
从构造函数看线程安全
文件和SOCKET跨线程安全吗?
将一个文件或SOCKET的句柄fd传递给多个线程,进行读、写和Close操作,是否安全了?答案是“否”,这类似于new一个指针后,这个指针传递给多线程是否安全,结果是常常容易造成一个线程使用已经被另一个线程delete的指针。
一见
2018/08/07
1.1K0
MySQL的Buffer Pool线程安全吗?
假设MySQL同时接收到了多个请求,他自然会用多线程处理,那这多线程就可能会同时访问BP,即同时操作里面的缓存页,同时操作一个free链表、flush链表、lru链表。现在多线程来并发的访问这个BP,此时他们都是在访问内存里的一些共享数据结构,如缓存页、各种链表,必要加锁,然后让一个线程先完成一系列操作,比如说加载数据页到缓存页,更新free、lru链表,然后释放锁,接着下个线程再执行操作。
JavaEdge
2022/02/06
5860
Java 有线程安全的 set 吗?
在多线程环境下,要使用线程安全的集合,比如,ConcurrentHashMap是线程安全的HashMap,CopyOnWriteArrayList是线程安全的ArrayList。
Vincent-yuan
2021/12/08
8650
hashmap线程安全吗 什么解决方案_hashtable为什么是线程安全
以JDK1.8的HashMap为例,引用作者: 一字马胡 所写文章中的一张图:
全栈程序员站长
2022/11/09
5210
hashmap线程安全吗 什么解决方案_hashtable为什么是线程安全
使用curl指令发起websocket请求
其中提到nginx默认不会为客户端转发Upgrade、Connection标头[3], 因为为了让被代理的后端服务器知道客户端要升级协议,故要在nginx上显式转发标头:
有态度的马甲
2022/08/23
7.5K0
使用curl指令发起websocket请求
从源码看concurrentHashMap的线程安全
从JDK1.2起,就有了HashMap,正如前一篇文章所说,HashMap不是线程安全的,因此多线程操作时需要格外小心。
哲洛不闹
2018/09/14
4440
从源码看concurrentHashMap的线程安全
什么是线程安全,你真的了解吗?
记得今年3月份刚来杭州面试的时候,有一家公司的技术总监问了我这样一个问题,说你给我说说有哪些线程安全的类,我心里一想,呵呵,这我早都背好了,稀里哗啦说了一大堆,那你再来说说什么是线程安全,然后就GG了,说真的,我们整天说线程安全,但是你对什么是线程安全真的了解嘛?说真的,我之前真的是了解甚微,那么我们今天就来聊聊这个问题。
java思维导图
2019/11/04
6800
threadpoolmanager_threadlocal是线程安全的吗
在WEB开发中,为了减少页面等待时间提高用户体验,我们往往会把一些浪费时间的操作放到新线程中在后台运行。
全栈程序员站长
2022/11/08
4970
mybatis的MappedStatement是线程安全的吗
org/apache/ibatis/mapping/MappedStatement.java
code4it
2023/08/29
2510
jdk8 hashmap线程安全吗_Python中的线程
只要是对于集合有一定了解的一定都知道HashMap是线程不安全的,我们应该使用ConcurrentHashMap。但是为什么HashMap是线程不安全的呢,之前面试的时候也遇到到这样的问题,但是当时只停留在***知道是***的层面上,并没有深入理解***为什么是***。于是今天重温一个HashMap线程不安全的这个问题。
全栈程序员站长
2022/11/07
7750
jdk8 hashmap线程安全吗_Python中的线程
面试阿里被质问:ConcurrentHashMap线程安全吗
没啥深入实践的理论系同学,在使用并发工具时,总是认为把HashMap改为ConcurrentHashMap,就完美解决并发了呀。或者使用写时复制的CopyOnWriteArrayList,性能更佳呀!技术言论虽然自由,但面对魔鬼面试官时,我们更在乎的是这些真的正确吗?
乔戈里
2021/01/06
9590
面试阿里被质问:ConcurrentHashMap线程安全吗
代码审查:从 ArrayList 说线程安全
更新: 此文发到 V2EX 后,有网友指出文中的案例代码改写为 List<String> result = paramList.parallelStream().map(this::doSomething).collect(toList()); 就能很好的解决,确实如此,当时代码审查时意识到这里有线程安全问题,然后我就有点思维定势,只想着用解决线程安全问题的方式去处理,没有换个角度想到这种更好的写法。以下仍然保留原文,阅读重点可以放「线程安全」的分析理解上,parallelStream 权当为了举例而简写的一种多线程写法。实际遇上它时可以优先用 parallelStream.map().collect() 和 parallelStream.flatMap().collect() 这类方案。
零式的天空
2022/03/28
9600
代码审查:从 ArrayList 说线程安全
mybatis的MappedStatement是线程安全的吗
org/apache/ibatis/mapping/MappedStatement.java
code4it
2023/08/31
2080
mybatis的MappedStatement是线程安全的吗
什么是线程安全,你真的了解吗?
记得今年3月份刚来杭州面试的时候,有一家公司的技术总监问了我这样一个问题,说你给我说说有哪些线程安全的类,我心里一想,呵呵,这我早都背好了,稀里哗啦说了一大堆,那你再来说说什么是线程安全,然后就GG了,说真的,我们整天说线程安全,但是你对什么是线程安全真的了解嘛?说真的,我之前真的是了解甚微,那么我们今天就来聊聊这个问题。
用户1260737
2019/10/14
9780
什么是线程安全,你真的了解吗?
shared_ptr是线程安全的吗?
shared_ptr objects offer the same level of thread safety as built-in types
早起的鸟儿有虫吃
2020/07/02
11.1K0
shared_ptr是线程安全的吗?

相似问题

关闭WebSocket线程安全

21

Websocket Servlet线程安全

14

从静态方法线程安全返回引用吗?

44

Jetty websocket客户端类WebSocketClient线程安全吗?

29

从线程获取返回值,这个Kotlin代码线程安全吗?

140
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文