免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: dn2010
打印 上一主题 下一主题

C还是C++? for socket server [复制链接]

论坛徽章:
27
处女座
日期:2016-04-18 14:00:4515-16赛季CBA联赛之福建
日期:2023-03-31 15:54:2315-16赛季CBA联赛之深圳
日期:2020-06-02 10:10:5015-16赛季CBA联赛之广夏
日期:2019-07-23 16:59:452016科比退役纪念章
日期:2019-06-26 16:59:1315-16赛季CBA联赛之天津
日期:2019-05-28 14:25:1915-16赛季CBA联赛之青岛
日期:2019-05-16 10:14:082016科比退役纪念章
日期:2019-01-11 14:44:062016科比退役纪念章
日期:2018-07-18 16:17:4015-16赛季CBA联赛之上海
日期:2017-08-22 18:18:5515-16赛季CBA联赛之江苏
日期:2017-08-04 17:00:4715-16赛季CBA联赛之佛山
日期:2017-02-20 18:21:13
21 [报告]
发表于 2011-11-29 22:51 |只看该作者
回复 19# windyrobin


   

论坛徽章:
0
22 [报告]
发表于 2011-11-30 22:29 |只看该作者
本帖最后由 ux400 于 2011-11-30 22:36 编辑
这不是AS400的问题,而是所有系统的问题。AS400也是一样的。
在多线程里,不能多线程共享一个数 ...
yulihua49 发表于 2011-11-29 13:58



我们AS/400上的应用一般不是拿AS/400当ODBC/JDBC数据库服务器用。而是 socket通讯程序(一般用C写) -> 本机CALL RPG应用(直接读写PF)。
这样如果 socket通讯程序用多线程,则RPG应用就不能commit?

要不就不直接CALL 本机RPG应用,通过 DATA QUEUE隔离,即socket通讯程序用多线程写请求入DTAQ1,然后读DTAQ2等待回应;另一进程或多个进程读DTAQ1,CALL 本机RPG应用,回应写入DTAQ2。这样会不会使得DATA QUEUE成为瓶颈?

论坛徽章:
0
23 [报告]
发表于 2011-12-01 20:00 |只看该作者
5000TPS,應該先考濾OS跟硬件

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
24 [报告]
发表于 2011-12-02 15:24 |只看该作者
本帖最后由 yulihua49 于 2011-12-02 15:37 编辑
我们AS/400上的应用一般不是拿AS/400当ODBC/JDBC数据库服务器用。而是 socket通讯程序(一般用C写)  ...
ux400 发表于 2011-11-30 22:29



    RPG不清楚,它是线程安全的吗?如果是,那么是通过句柄访问的吗?如果是,建立句柄池,确保一个句柄最多为一个线程持有即可,多个句柄之间互斥锁操作。
也有不通过句柄,通过语义环境,按语义环境切换线程。

如果不支持多线程,只好DATAQ,操作串行化了,部分的失去了多线程的好处。一个RPG处理能否达到5000TPS很难说了。
不是说DATAQ是否瓶颈,而是RPG处理成了瓶颈。多CPU用不上了,千军万马过独木桥。

现代数据库都是并行设计的,都要考虑大规模并行处理环境,肯定都是支持多线程的。

论坛徽章:
0
25 [报告]
发表于 2011-12-02 21:29 |只看该作者
RPG不清楚,它是线程安全的吗?如果是,那么是通过句柄访问的吗?如果是,建立句柄池,确保一个句 ...
yulihua49 发表于 2011-12-02 15:24



看这里:
http://www.mcpressonline.com/tip ... -threaded-jobs.html
http://publib.boulder.ibm.com/in ... hw%2Frzahwileco.htm
新的ILE RPG(RPGLE) 也不是十分的线程安全。它不是通过句柄访问的。

AS/400的PF(物理文件) 类似于 DOS 时代的 .DBF, 就是 DB2/400的一个 TABLE , RPG 程序类似于 FoxBase, 当然,RPG程序也可以嵌入 SQL。

论坛徽章:
0
26 [报告]
发表于 2011-12-02 21:35 |只看该作者
AS/400 上可以跑JAVA,在WEBSPHERE中,它通过 JDBC 连接本机或它机的 DB2/400,是支持多线程的。

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
27 [报告]
发表于 2011-12-03 20:15 |只看该作者
本帖最后由 yulihua49 于 2011-12-03 20:17 编辑
AS/400 上可以跑JAVA,在WEBSPHERE中,它通过 JDBC 连接本机或它机的 DB2/400,是支持多线程的。
ux400 发表于 2011-12-02 21:35



    DB2我用过,线程安全。
RPG,看样子还在COBOL时代。所谓线程安全,不过是串行化处理,不具有并行性。
大吞吐量处理,尽快改为现代数据库。
可以前端数据库处理,然后export to RPG File进行后台处理。

论坛徽章:
0
28 [报告]
发表于 2011-12-03 22:34 |只看该作者
想省事的话直接上 zeroMQ吧

论坛徽章:
0
29 [报告]
发表于 2011-12-04 20:21 |只看该作者
RPG就是比 COBOL 还八股。
学起来麻烦,但是应用效率还是可能比SQL高
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP