在我的情况下,我需要保持每个角色中的用户数量不能超过一定的自定义限制。
我怎么能用java编程?在我看来,我希望将用户添加或删除为同步数据库,以避免线程读取用户数量并同时添加或删除用户。但保持长任务同步是否有益?
synchronized boolean addUser(UserVo vo){
Connection connect = db.getConnection();
String sql = generateSql(vo);
int number = connect.query("select count(*) from users where role='supermanager';") //long time, syncronized
if(number > limit){
return false;
}
connect.insert(sql);//long time, synchronized
connect.close();
}