mysqld本身是另一个独立的进程啊。mudos只不过把请求发过去,然后等下次空闲的时候来取结果。很多软件都是单线程的,支持并发可以做的很好。
莫非你打算放弃使用现成的libmysqlclient,然后在mudos里自己实现一个mysql connector???? 原帖由 zgbl 于 2011-9-4 08:16 PM 发表 http://pkuxkx.com/forum/images/common/back.gif
mush和tintin++过于专业,扩大用户面,吸引新玩家的关键还是要降低上手难度,光依赖玩过mud的老玩家是不行的
方便新人上手,tomud接口要做,这个是一个
现在北侠信息太多,刷频太严重,使用lmud的信息区域化显示 ...
拿笑傲江湖那个 www客户端改吧。很适合新手,比tomud看的舒服,再者tomud也能做触发,不是提倡不挂机嘛,就把客户端封包,只能在线操作。大家都别挂了吧。哇咔咔
回复 24楼 的帖子
那个就是tomud了,现在舒乐乐在做的是lmud,也就是信息分区显示,chat啊状态啊物品啊什么的都分开,比tomud要进一步同时,zmud的最初始必须保留,这是mud的根本 tomud以前用过,当时感觉比zmud要好,但是721出来后又超过了tomud,因为tomud作者停止了更新。可以说是一大遗憾。另外这个貌似和客户端没什么差距吧。我用tomud进过别人的mud都支持显示物品。不过记得和zmud的端口上有些区别而已。貌似是北侠是某个服务项没启动吧,或者说没有开启这个功能。
回复 26楼 的帖子
有区别的是专门有tomud端口,那种得在底层专门有tomud相应的东西,北侠没有,常规mud都没有,所以无tomud端口 原帖由 reallove 于 2011-9-9 03:54 PM 发表 http://pkuxkx.com/forum/images/common/back.gif莫非你打算放弃使用现成的libmysqlclient,然后在mudos里自己实现一个mysql connector????
不用放弃libmysqlclient,而是基于它封装一个异步的connector 原帖由 jason 于 2011-9-11 08:28 AM 发表 http://pkuxkx.com/forum/images/common/back.gif
不用放弃libmysqlclient,而是基于它封装一个异步的connector
能否谈下具体一点的实现呢?
我倒没发现libmysqlclient提供了某些异步接口,而它本身不提供的话,势必需要使用另外一个线程才能封装。
或许是我孤陋寡闻了。
不过如果你不使用多线程搞数据库,那我想问问你的多线程打算应用在什么地方? 我想要的多线程是需要在lpc里支持create_thread,这样就可以由wiz把一些耗时的代码放进线程里去。
当然,这需要mudos保证数据的一致性。
libmysqlclient是不支持异步的,没错,需要另开一个线程来做异步,但这不是我说的mudos支持多线程。 呵呵,那应该是LPC支持多线程,不过我觉得这不是一个好主意,涉及到很多数据同步,不小心在LPC层就能引起死锁,各种崩溃==
其实mud里耗时的,也就是IO了,如果普通代码耗时,那完全就是wiz的问题。
我建议你可以down一个FluffOS看看,里面实现了异步IO(包括文件和数据库),虽然稳定性和效率都还有待提高,不过大方向是对的。