日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

活动召集服务端设计

發布時間:2023/12/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 活动召集服务端设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

類似11平臺的組隊召集,但不要求在線,希望對大家有用的

思路:

1、隊列保存活動10000大小,成員里面有當前人數,總人數

2、所有活動入庫,隊列中沒有的數據,嘗試從數據庫中獲取,獲取到了則加入隊列

3、隊列滿,先入先出原則,將第一個從隊列中刪除入庫

4、隊列中參加的人數變化不入庫

5、活動id由服務器自動生成,生成規則:用戶id+系統當前時間,避免重復

活動類:

隊列:

??? private List list = new ArrayList();
???
??? Map<String,Activity> map = new HashMap<String,Activity>();

??? private Object lock = new Object();

??? public int count = 0;

??? public void putReceiverItem(Activity item)
??? {
??????? synchronized (lock)
??????? {
??????????? //最大保存10w的消息
??????????? if (count > 100000)
??????????? {
??????????????? count--;
??????????????? list.remove(0);
??????????? }
??????????? count++;
??????????? list.add(item.getId());
???????????
??????????? map.put(item.getId(), item);

??????????? lock.notify();
??????? }
??? }

??? public Activity getReceiverItem(String activityId)
??? {
??????? synchronized (lock)
??????? {
??????????? return map.get(activityId);
??????? }
??? }
處理類:

數據庫操作類:

總結

以上是生活随笔為你收集整理的活动召集服务端设计的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。