想问一下 如果是这种架构的 服务器端能否利用critical_section进行线程同步
服务器端需要在critical_section中保存服务器端的访问数据库的对象 以免同一时间多个线程访问同一个服务器端的数据库对象 使得对数据库的操作变得不可遇见
客户端会有N多个 那么利用critical_section 能使得这N多个客户端对服务器的访问同步执行吗
最好付点代码 感激不尽
------解决方案--------------------------------------------------------
critical_section只能用于一个进程内多个线程的同步。
不过,一般来说,一个服务器会为每一个到来的客户请求创建一个线程来处理,所以,对于服务器来说,它只要实现进程内德多线程同步就可以了。所以,使用临界区是可行的。
至于源码的话,网上的例子很多的,而且随便找一本关于多线程编程的书都可以找到。
------解决方案--------------------------------------------------------
服务端只需用一个数据库对象
客户端的请求通过排队来使用这个对象
------解决方案--------------------------------------------------------
数据库操作,应该看成是原子的