亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 4041 | 回復(fù): 10
打印 上一主題 下一主題

[C] Linux下Counter統(tǒng)計模塊設(shè)計 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2015-06-09 15:29 |只看該作者 |倒序瀏覽


論壇徽章:
0
2 [報告]
發(fā)表于 2015-06-09 15:36 |只看該作者
這里各個業(yè)務(wù)模塊是獨立進程,統(tǒng)計模塊的功能就是統(tǒng)計各業(yè)務(wù)模塊上報的計數(shù)器。怎么設(shè)計這個模塊呢?

我的想法是把這個模塊做成動態(tài)庫,然后在這個統(tǒng)計模塊中為各個業(yè)務(wù)模塊定義一個全局變量,然后各個業(yè)務(wù)模塊如果上報計數(shù)的話,直接去寫自己的那個全局變量,問題來了,比如我業(yè)務(wù)模塊1 將他的全局變量成100,但是我通過命令程序查看的時候,這個值還是0;說明這個全局變量不能在業(yè)務(wù)模塊進程 和 命令模塊進程共享。

各位大神,這個怎么設(shè)計,我不想把這個統(tǒng)計模塊搞成一個進程,有其他辦法嗎?

回復(fù) 1# hubimaso


   

論壇徽章:
0
3 [報告]
發(fā)表于 2015-06-09 15:43 |只看該作者
//Business.c
#include <stdio.h>

//業(yè)務(wù)模塊 上報counter統(tǒng)計給Counter_lib

void report(int count)
{
        g_strategy_num = count;
}

int main(void)
{
        int strategy_num = 100;
        report(strategy_num);
       
        return 0;
}


#include <stdio.h>

#define STTATEGY 1

int get_strategy_count()
{
        return g_strategy_num;
}

void receive(int cmd)
{
                return;
}

//統(tǒng)計模塊動態(tài)庫 Counter_lib.c
#include <stdio.h>

extern int g_strategy_num;//策略業(yè)務(wù)統(tǒng)計
//extern int XXX_num;//XXX業(yè)務(wù)統(tǒng)計
//....
//

int g_strategy_num = 0;

//要用和DB的接口,寫庫給前臺訪問(帶擴充)


//命令程序sever端
#include <stdio.h>

#define STTATEGY 1

extern int g_strategy_num;

int get_strategy_count()
{
        return g_strategy_num;
}

void receive(int cmd)
{
                return;
}

int main(int cmd)
{
        //接收相應(yīng)的命令并解析
        receive(cmd);
        cmd = STTATEGY;//這里只是模擬場景
       
        //get_strategy_counter為注冊的回調(diào)函數(shù)
        switch(cmd)
        {
                case STTATEGY:
                        strategy_num = get_strategy_count();
                        break;
                //case XXX:
                        //XXX
                default:
                                break;
        }

        //得到統(tǒng)計結(jié)果
        printf("the Counter result : %d\n", strategy_num);
        return 0;
}

論壇徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52雙子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午馬
日期:2013-10-18 21:43:38
4 [報告]
發(fā)表于 2015-06-09 15:44 |只看該作者
寫在共享內(nèi)存唄

論壇徽章:
0
5 [報告]
發(fā)表于 2015-06-09 15:45 |只看該作者
[root@localhost Dynamic_lib]# gcc -shared -o libCounter.so Counter_lib.c
[root@localhost Dynamic_lib]# cp libCounter.so /usr/lib
cp:是否覆蓋"/usr/lib/libCounter.so"? y
[root@localhost Dynamic_lib]# gcc ShellCmd_server.c -g -o ShellCmd_server -lCounter -L./
[root@localhost Dynamic_lib]# gcc Business.c -g -o Business -lCounter -L./                              
[root@localhost Dynamic_lib]# ./Business
Business report: 100
[root@localhost Dynamic_lib]# ./ShellCmd_server
the Counter result : 0
[root@localhost Dynamic_lib]#

論壇徽章:
0
6 [報告]
發(fā)表于 2015-06-09 15:52 |只看該作者
你的意思是把這個全局變量搞成共享內(nèi)存的方式?而且這個統(tǒng)計模塊還是弄成動態(tài)庫?回復(fù) 4# hellioncu


   

論壇徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52雙子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午馬
日期:2013-10-18 21:43:38
7 [報告]
發(fā)表于 2015-06-09 15:57 |只看該作者
hubimaso 發(fā)表于 2015-06-09 15:52
你的意思是把這個全局變量搞成共享內(nèi)存的方式?而且這個統(tǒng)計模塊還是弄成動態(tài)庫?回復(fù) 4# hellioncu


動態(tài)庫與否不是關(guān)鍵。關(guān)鍵是你倆進程得用進程間通信,這么定義個變量是不行的

論壇徽章:
0
8 [報告]
發(fā)表于 2015-06-09 16:08 |只看該作者
差不多明白了,本人菜鳥沒啥經(jīng)驗,感覺怎么樣設(shè)計很別扭,大神點評下啊。回復(fù) 7# hellioncu


   

論壇徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龍
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥豬
日期:2014-04-01 08:56:02亥豬
日期:2014-04-08 08:38:58程序設(shè)計版塊每日發(fā)帖之星
日期:2016-01-05 06:20:00程序設(shè)計版塊每日發(fā)帖之星
日期:2016-01-07 06:20:00
9 [報告]
發(fā)表于 2015-06-09 16:11 |只看該作者
不就是一個變量,然后價格鎖啥的嗎。

論壇徽章:
0
10 [報告]
發(fā)表于 2015-06-10 11:45 |只看該作者
我覺得作為單獨進程比較好。業(yè)務(wù)進程給統(tǒng)計模塊發(fā)消息,統(tǒng)計模塊接收并保存到隊列中,命令模塊查詢時返回消息。層次也比較清晰,也不用加鎖。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP