我正在编写一个多线程应用程序,它将存在于两台主动-主动负载平衡服务器上,并访问另一台服务器上的集群数据库。显然,我不希望多个线程同时写入相同的记录,并且 SQL 提供锁定以确保不会发生这种情况。即使主动-主动配置意味着冲突无法完全停止,在应用程序中使用互斥锁有哪些优点和缺点?
谢谢,帕特里克
我正在编写一个多线程应用程序,它将存在于两台主动-主动负载平衡服务器上,并访问另一台服务器上的集群数据库。显然,我不希望多个线程同时写入相同的记录,并且 SQL 提供锁定以确保不会发生这种情况。即使主动-主动配置意味着冲突无法完全停止,在应用程序中使用互斥锁有哪些优点和缺点?
谢谢,帕特里克
即使主动-主动配置意味着冲突无法完全停止,在应用程序中使用互斥锁有哪些优点和缺点?
您似乎想知道是否可以通过减少数据库中的锁等待量来提高性能,方法是更喜欢在应用程序进程中等待锁。我看不出这会如何产生任何性能优势。等待就是等待。
另外,如果你只使用数据库锁定,那么你的设计会更简单:你可以将每个线程视为一个处理节点,你不需要关心你的处理节点是在同一个进程中,还是在同一台机器上。