请教一个多线程解决线程安全的问题?在线等。

爱coding 发布于 2012/07/03 15:10
阅读 174
收藏 0

我现在的需求是多个访客同时和一个客服连接,为了安全起见,我对客服加锁。

问题是当一个访客和客服连接时,其他访客必须等正在连接的访客释放锁后,才能跟客服进行

连接,速度很慢,尤其用户多的时候。

现在想用多线程来解决,求朋友们给一个解决方案。

 

附加:客服必须是安全的吗?一定要加锁吗?多线程的话,也无法保证客服的安全啊?小弟不大懂,求大家帮忙。

加载中
0
小熊猫大暴走
小熊猫大暴走
简单的select就可以了
爱coding
爱coding
朋友,敢在详细点吗?不好意思,没看懂,
如风随影
如风随影
你告诉她是选择器咯,select人家还以为是SQL
0
freish
freish

如果多个线程没有访问共享的变量,就是安全的

如果访问共享的变量,但做了正确的同步,那也是安全的

爱coding
爱coding
现在是访问共享变量客服,多线程也是对同一个客服加锁,能保证多个访客同时连接该客服吗,不等其他正在连接的客服释放锁,共享的该客服怎么正确的同步呢,在指点指点,感谢。
0
逝水fox
逝水fox

感觉如果单个客服对单个客户提供的服务处理逻辑上是线程安全的就不用锁客服(选飞机票那种服务还要操作共同数据的需求就得额外讨论了),客户连上来之后在队列里面等待,客服每次空闲之后从队列里面出一个客户出来提供服务。这样你不管多少个客服逻辑上都好处理。复杂一点还可以继续扩展。只要保证队列操作线程安全即可。

Java有现成的BlockingQueue,也可以用信号量和线程池来实现。相信其他语言一样有类似的实现。

爱coding
爱coding
恩,说的挺好,非常感谢,有点思路了。
返回顶部
顶部