D*****r 发帖数: 6791 | 1 西西河 上的 代码狗 发文。
本人淘宝技术专家,2012年在一家百强民企做电商副总,当时在极为艰苦的条件下带队
开发了一个B2C(企业针对个人开展的电子商务活动——观察者网注)网站,走支付宝
和银联支付通道,年营业额千万级(作者注:当然实在太少了,我只是说这个网站投入
了实际的运营)。
也就在那个时候,我对12306嗤之以鼻,觉得他们做得太烂了,认为自己能带队花几百
万半年时间做个好的出来。于是我狂妄地想做一个开源的订票系统给他们。我花了一个
星期时间思考建立数据模型,思考到库存这一步的时候,我才发现,12306的库存复杂
性比淘宝、京东高很多倍,运算量也大很多倍。传统的分布式数据库、缓存、负载均衡
技术并不能恰好满足12306的需求。
在平时,12306也就是个正常的电商网站。但一到黄金周,12306就是一个全站所有商品
都秒杀,所有SKU都是动态库存的变态。
即使不考虑线下既有的电话、代售点等渠道,要实现一个12306,最少最少也是千万级
别的硬件投入(作者注:这是当时的估算,没有精算,可能与实际相差较大,总之,我
说得不一定对,12306的业务也许没我说的那么复杂,但也绝不是某些... 阅读全帖 |
|
T********i 发帖数: 2416 | 2 哦,如果允许中途换座位就是一个单线程计数器。
你真的不懂么?呵呵呵。
单线程做transaction最容易了,请求一个个处理就好了。呵呵呵。
就是这么简单。 |
|
|
z****e 发帖数: 54598 | 4 尤其是卡牌麻将牌棋类这种回合制的游戏server
比较适合用异步,vert.x灰常match这种需求
绝大多数web用啥异步啊,根本木有必要,而且还搞什么单线程
好容易用异步节省下来的资源都给单线程给吃掉了
最后效率还不如古老的servlet |
|
|
T********i 发帖数: 2416 | 6 什么叫证明了不能保证有票就出?几分钟以后就fix了。而且第二天我证明单线程都能
满足性能要求。
fix的算法,或者单线程实现,你丫证明一个不能保证有票就出给我看看?
你丫要是能证明,我公开认错,从此不来。你丫要不能证明,这么多年你造谣几百次怎
么算? |
|
T********i 发帖数: 2416 | 7 别不要脸,fix后,或者单线程,根本不会有有票不出的情况。
我说了,你给我证明,fix后的算法,或者单线程算法,会有票不能出。
你要是能证明,我公开认错。从此不来。
你不能证明,这两年你拿这件事造谣骂我几百次,同时吹嘘的NFLX背景,这笔帐我们要
算。 |
|
z****e 发帖数: 54598 | 8
你说的所谓方案,都是上个世纪,大概90年代世界各个国家搞的
当时机器性能不够强大,所以机器都很大,主机主要就是搞这些
跟你这种上个世纪的人说话好累啊,做了半天一个计数器我靠
单线程要你做?单线程不存在并发问题需要你来解释? |
|
T********i 发帖数: 2416 | 9 通信系统本来就有这个传统。单核单线程死循环。
分布式系统鱼龙混杂。就不好说了。
很多人hate可能也有一部分实现的原因。但是我想说一句话绝对不会错:要是一个人连
这个系统的状态机都分析不明白,都实现不了,这个人就别干了,直接吃屎去算了。
我发现很多成天把并发挂在嘴边的,反倒是对软件和硬件体系结构毫无概念的。
物理学家的世界是量子的。码工的世界不但应该是量子的,还应该是单线程的。 |
|
T********i 发帖数: 2416 | 10 通信系统本来就有这个传统。单核单线程死循环。
分布式系统鱼龙混杂。就不好说了。
很多人hate可能也有一部分实现的原因。但是我想说一句话绝对不会错:要是一个人连
这个系统的状态机都分析不明白,都实现不了,这个人就别干了,直接吃屎去算了。
我发现很多成天把并发挂在嘴边的,反倒是对软件和硬件体系结构毫无概念的。
物理学家的世界是量子的。码工的世界不但应该是量子的,还应该是单线程的。 |
|
p******k 发帖数: 11 | 11 http://ponyhawk.org/?p=10
SecDB就是security DB,Slang就是security langurage。SecDB就是一个数据库平台,
而Slang就是在这个平台上使用的语言。在网上找它的信息的时候发现很多讨论,但是
都很宏观,一旦深入进去总好像模模糊糊没有什么具体的东西可以了解,究其原因或许
是因为它的拥有者是另一个神秘的公司——高盛(Goldman Sachs)。曾经有个金融领
域的大佬曾经说过高盛(Goldman Sachs)就和某党差不多,在外面的人开来他很强大
,很神秘,虽然没做什么坏事,但基本上做的事都会被联想到邪恶。但就是这样一个“
邪恶“的角色被人们口口相传拥有一个赚钱的利器“SecDB/Slang”的时候,这件利器
本身也就成了世人追逐的对象。而这种说纷纭的千人千象更加增添了它“神器”传说。
既然讨论一个IT系统,我觉得还是IT人员最有发言权,仔细分析一下注解[1]中的讨论
和注解[2]中的描述,我觉得以下摘录值得进一步分析:
“They could also calculate the side effects of propo... 阅读全帖 |
|
k*z 发帖数: 4704 | 12 从大数据,到分布存储计算,到业务模型设计,到防机器人刷票,恶意攻击,分布式访
问。。。。。。
前淘宝工程师发帖:铁道部购票网站几乎是奇迹(图)
2014年01月12日19:05:48 [新闻大杂烩]
1月11日起,12306网站开始销售除夕当日火车票。每到此时,铁路系统唯一的官方购票
网站12306就会成为众矢之的。今年也不例外,12306再次被淹没在一片埋怨声中。
Mitbbs.com
1月5日,观察者网刊登了问答网站“知乎”上的用户王强的解答,回答“如果把12306
外包给IBM或者阿里巴巴来做的话,能不能比现在做得好?”这一问题。Mitbbs.com
1月10日,一位ID名为“代码狗”的前淘宝工程师,后来在一家电商公司做技术副总的
IT业内人士也在著名论坛“西西河”上发文,表达了他自己对12306系统的看法。
Mitbbs.com
值得注意的是,“代码狗”在12306系统刚上线时也有过不少微词。为了证明12306系统
很容易搭建,“代码狗”甚至曾经发起过一个名为“替12306设计系统”的开源项目。
通过工作中的实践,“代码狗”对于12306系统也有了新的认识。Mitbbs.com... 阅读全帖 |
|
i**********y 发帖数: 2224 | 13 在广大芝麻筒子棉的帮助之下,影音服务器正式宣告成立。
所有芝麻享受下载,助赞芝麻享受VIP待遇,更多线程更快速度,普通会员享受单IP单
线程下载,限速50K/S,无列表功能。
为了保证服务器的SAFE,DOWNLOAD·password 采用回复的方式得到,由于BD无法使用
ANSWER SEE方式 ,所以就build了一个BBS来实现这个功能,address在此:www.32ftp.
cn
影音组一直以来致力于清晰视频的制作,相信大家都知道这其中的甘苦,我们也不想听
任何人以任何的理由和原因在这里抨击我们设立服务器的初衷。
以后所有的视频,只要是经过影音组录制的或者搜集的,清晰版的,都将使用此服务器
发布。
作者: 雯婕影音兴趣组 2007-8-13 21:29 回复此发言 |
|
f*******8 发帖数: 3612 | 14
所有的事情都有其过程。
所有的事情,都是靠break than conquer.
waichi也不例外,他那一段时间也是要把工作辞了,在家专心做的。
因为一段时间这样是必须的。
人生几块,就好象模块设计,你处理好一个模块(工作),然后再处理好另一个模块(
打坐),然后才能处理好“同时”工作和打坐。都是一个模块一个模块练熟了,才能从
单线程,进化到多线程。单任务变成多任务。从一个小模块,到多个小模块,变成一个
大模块,然后多个大模块。都是这么过来的。先练分解动作,再练合成动作。
当然,有些有智慧的人可以迅速把某些模块熟练起来,并且快速进入到自由切换状态,
这是高人。
你像Waichi在香港看几本气功书,就立马能总结出规律,共性:所有的气功都是要集中。
然后他就真能集中。
这我们真的没法比。 |
|
f*******8 发帖数: 3612 | 15
所有的事情都有其过程。
所有的事情,都是靠break than conquer.
waichi也不例外,他那一段时间也是要把工作辞了,在家专心做的。
因为一段时间这样是必须的。
人生几块,就好象模块设计,你处理好一个模块(工作),然后再处理好另一个模块(
打坐),然后才能处理好“同时”工作和打坐。都是一个模块一个模块练熟了,才能从
单线程,进化到多线程。单任务变成多任务。从一个小模块,到多个小模块,变成一个
大模块,然后多个大模块。都是这么过来的。先练分解动作,再练合成动作。
当然,有些有智慧的人可以迅速把某些模块熟练起来,并且快速进入到自由切换状态,
这是高人。
你像Waichi在香港看几本气功书,就立马能总结出规律,共性:所有的气功都是要集中。
然后他就真能集中。
这我们真的没法比。 |
|
s***a 发帖数: 861 | 16 其实是你没看懂人家的意思。
python本身是单线程的,但是它的library是可以用其他语言比如c或者fortran来写的
,而且可以写成多线程。比如,你如果需要矩阵运算,可以用numpy库,使用的是标准
的fortran线性代数的库,运算速度和你用fortran写一个多线性的程序是一样的。
因为python调用的library可能是多线程的,主程序不知道library什么时候可以运行完
,所以主程序可以设置成异步的。 |
|
s***a 发帖数: 861 | 17 其实是你没看懂人家的意思。
python本身是单线程的,但是它的library是可以用其他语言比如c或者fortran来写的
,而且可以写成多线程。比如,你如果需要矩阵运算,可以用numpy库,使用的是标准
的fortran线性代数的库,运算速度和你用fortran写一个多线性的程序是一样的。
因为python调用的library可能是多线程的,主程序不知道library什么时候可以运行完
,所以主程序可以设置成异步的。 |
|
M7 发帖数: 219 | 18 来自主题: JobHunting版 - MS面经。 非名校CS PHD, 5月毕业。去年12月网投的,一周后说要电面。
电面:
1. 博士做什么题目?最挑战的部分是什么?
2. If you started this (your research) over, what do you want to do first fo
r the same project?
3. What is a good program?
4. Why do you rate your preferences for SDE, SDET and PM. 我当时perfer SDE。
面试官要我be flexible.
5. A game is about to ship, how do you want to to test it?
6. Given a year and unlimited funding, what do you want to do?
没有coding问题。说是三到四周给回音。结果两天后(而且是在周末)recruiter就说通
过了。要onsite SDET。
Onsite:
10:30和recruiter聊了一下: why MS?
11... 阅读全帖 |
|
h**********d 发帖数: 4313 | 19 面的是software engineer /GUI
无算法,全是component design pattern和一点OO coding
电面1
simulink manager, 一堆hr问题, 技术问了一个, 不记得了,我用polymophism忽悠
过去了
然后给了一个word要求回答问题,全是讲讲自己的software engineer 的经验和经历
电面2
很nice的印度gg
讲research
假设simulink的GUI, 如何实现undo功能(答用commend pattern)
有没有用过html的canvas(没有。。)
大概讲一下JavaScript经历,简单解释AJAX
onsite
45分钟presentation, 介绍以前的projects
一共见7个人,最后一个recruiter
1. 电话会议一个在英国的人。。。
共享一个屏幕,他写了3个java class,问他的design有没有不好的地方,如何改进。
主要是有重复的try catch block,不好,不过我也说不出改进方法。。。他自己给了
答案,好像是搞了一个用generics的class作d... 阅读全帖 |
|
h******6 发帖数: 2697 | 20
有道理 就这道题来讲 单线程串行的话确实排列成线性就可以了 不过我在想如果是真
实网络中要是可以多线程(block阻塞是针对单独某个线程来讲的话) 那样组合成树效
果会更好些 另外 你那个代码最后还要把根节点的sum值再传送给所有其他节点 所以你
还得把你那个代码再重复一遍 |
|
h******6 发帖数: 2697 | 21
有道理 就这道题来讲 单线程串行的话确实排列成线性就可以了 不过我在想如果是真
实网络中要是可以多线程(block阻塞是针对单独某个线程来讲的话) 那样组合成树效
果会更好些 另外 你那个代码最后还要把根节点的sum值再传送给所有其他节点 所以你
还得把你那个代码再重复一遍 |
|
g**e 发帖数: 6127 | 22 不管是单线程还是多线程,还是分布在不同的机器上跑,最终有两个问题要解决
1. 如果保证idempotence. 同一个transaction(每天收钱一次)只处理一次
2. 程序在任何情况下中断,stuck,机器down掉。回复运行以后继续正确处理
bottom line: 一个用户可以今天不扣钱(比如程序今天出了问题),明天再把两天的帐
一起算。但是不能double charge,也不能一天收钱两次(即使是正确的)。
线程 |
|
x*******9 发帖数: 138 | 23 单线程多线程?
用一个双端队列存时间信息,然后每次有新请求来的时候维护一下。
不过对多线程不适用。 |
|
w**5 发帖数: 34 | 24 就是写一个threadpool的void post(Runnable)。
你有好多个线程用你这个pool。
mypool.post(r1); mypool.post(r2); .....mypool.post(rn);
每个线程调用post这么不能block,要马上return.
你的thradpool要用Queue保存所有的runnable,然后单线程一个一个运行Queue里面的
task。 |
|
w**5 发帖数: 34 | 25 就是写一个threadpool的void post(Runnable)。
你有好多个线程用你这个pool。
mypool.post(r1); mypool.post(r2); .....mypool.post(rn);
每个线程调用post这么不能block,要马上return.
你的thradpool要用Queue保存所有的runnable,然后单线程一个一个运行Queue里面的
task。 |
|
l******d 发帖数: 530 | 26 CS PhD出身,原来是研究操作系统的,但当时研究的主任务是灌水发paper。毕业后去
了湾区一做数据通信的公司,会点C/C++,Linux编程调试,什么单线程多线程之类的,
kernel编程,懂点TCP/IP协议。J2EE JSP之类的touch过,但是也很久没碰了。
奔四了,要是再不折腾下过几年就折腾不动了。可是现在最大问题是不知道往哪个方向
折腾,可以拓展现有skill set但又不至于把现有的完全扔掉。
现在看到编程版讨论的一堆新名词新轮子不知所以然。总觉得重头去学这些新轮子会舍
本逐末,毕竟这些新轮子是让编程变得傻瓜化,降低对码工的要求。上个星期面试了一
个转行CS的小伙子,在好几个大公司呆过,简历上以Java为主,夹杂了不少流行的轮子
名称,也提到会C/C++。但问到CS比较基础的问题时,啥都不会,比如什么是线程进程
的区别,地址空间,指针操作,信号量,如何调试coredump,TCP/IP的一些基本概念,
问起来一头雾水。难道现在码工都不需要懂这些东西了? |
|
g******z 发帖数: 5809 | 27 Core凭借革命性的微架构革新,为Intel重新夺回了性能王者桂冠。而2007年底Intel发
布的45nm Penryn微处理器,更进一步拉开了与AMD的技术差距。Intel非但没有就此停
下脚步,更进一步加速推出了的新一代Nehalem微架构的CPU,希望凭借这款处理器给予
AMD无情的一击。
Nehalem的设计目标是找到折衷的设计方案,为各种应用场合的处理提供一个单一的、
可扩展的平台。众所周知,不同领域的应用程序在表现上有着极大的差异。例如矩阵运
算、视频编解码、数据库等领域的处理具有很高的并行性,因此新出现的程序越来越多
的采用多线程的方式编写;而同时相当多的较老的应用程序仍然采用单线程的方式编写
,编译等一些特殊领域的应用也很难被并行化处理。再例如对于一些专业工作者,处理
速度至关重要,运行一遍应用来对自己手头的数据进行处理往往要几天甚至一个月的时
间;但使用笔记本出差的用户却对笔记本的巡航时间更为关注。
Nehalem的出现,正是想为这些应用提供单一的解决方案,由用户根据自己的应用选择
处理器的使用和运行方式。Nehalem既需要为已存在和即将涌现的多线程应用程序服务 |
|
r******n 发帖数: 4522 | 28 MT4的问题是MM broker可以利用server端做手脚,但也有很多ECN支持MT4, MT4 client
端还是入门最容易,FX最普及的平台。
没觉得Ninja对IB支持不好,倒是记得MBT断了后必须重启比较麻烦。Ninja的问题是设
计初衷就是个chart,自动交易是附加的,真用起来还是半自动比较合适。
Openquant我说的当然是商业产品,认真做这点儿小钱还是要舍得花,OQ最大的好处是
带个QuickFIX引擎,可以用FIX。但OQ的优化太滥了,不如NT. 另外用NT, OQ这些通用
平台,同样代码可以连不同broker,还可以从一家stream data, 另一家交易,这些都
不用自己额外写。所以用来起步是最好的,等测试确定使用哪家后再自己写针对性代码
也不迟。自己写交易系统,其实是否用多线程也值得商榷,个体户不可能做到真正HFT
,即使能做到极致,最后的瓶颈也是网络连接跟服务器相应速度,客户端现在硬件那么
强,单线程交易性能绰绰有余,可靠性还更高。真正用得到多线程的是系统回测优化,
那时候不把所有的core都用足就亏了。
EA。
了。 |
|
n**********2 发帖数: 648 | 29 加入收藏|设为首页|本地新闻|同城生活信息|留园微博 注册 | 找回密码 | 用户名:
密码:
时政·财经·军事 | 生活·家庭·娱乐 | 体坛·历史·科技 | 摄影·旅游·文化 |
移民·教育·就业 | 数码·健康·奇闻 | 评论·图片·视频
留园网首页 · 新闻速递首页 · 【繁體閱讀】 【网友评论:14条】 【 近期热评新闻
排行榜 】 【 近期热门新闻点击排行 】
英特尔发布首款8核PC处理器 售价999美元(图)
新闻来源: 新浪科技 于 2014-08-29 23:03:44 大字阅读 敬请注意:新闻取自各大新闻
媒体,观点内容不代表本网立场!
英特尔发布首款8核PC处理器
北京时间8月30日早间消息,英特尔周五发布了3款针对高端桌面用户的CPU产品,其中
包括Haswell-E和新的酷睿i7 Extreme Edition CPU。
过去几年,英特尔对CPU的关注重点是如何提高能效,但英特尔高端产品的发展并
未止步。早在今年3月就有媒体报道了英特尔此次发布的CPU的消息。
英特尔周五发布了3款新的CPU产品。其中两款为六核处理器,包括售价389美元的
酷... 阅读全帖 |
|
H*******g 发帖数: 6997 | 30 ☆─────────────────────────────────────☆
qt (月移花影) 于 (Sun Nov 4 18:18:01 2012, 美东) 提到:
我这个宅女faint了,还以为人人都像我这样爱码字呢。
战略性错误啊,彻底误事儿了,555。。。
☆─────────────────────────────────────☆
movhorn (赵括丶马谡之流...(我就是胖,怎樣)) 于 (Sun Nov 4 18:44:53 2012, 美东) 提到:
還是會有的,但這樣是幫助不了你找對象的
☆─────────────────────────────────────☆
qt (月移花影) 于 (Sun Nov 4 18:48:57 2012, 美东) 提到:
那怎样有助于找对象?
☆─────────────────────────────────────☆
downspring (田野里的旋风) 于 (Sun Nov 4 18:50:04 2012, 美东) 提到:
我还挺喜欢网聊的,不过电话更方便
☆───... 阅读全帖 |
|
z****e 发帖数: 54598 | 31 mac适合搞文艺的人来做,这个没错,各种缺省的图像处理非常赞
但是理和工用的机器不一样
工科当然是linux最方便
各种命令行虽然学起来麻烦
但是学会了效率很高
你用windows从几十g的压缩文件中grep一个关键字我看看
还有前面有人说的c
行啊,那你实现一个多线程我看看
多线程在工科应用中是最基本的要求
谁都会用到,理科那就不一定了
r什么都是单线程的,因为他们用计算机不过是用来算的
也就是最原始的功能,而不是模拟现实等衍生功能 |
|
k******g 发帖数: 1540 | 32 ☆─────────────────────────────────────☆
sunnybank (嘤鸣求友) 于 (Sun Dec 30 21:30:08 2012, 美东) 提到:
macbook的机器做工的确很好看
也很轻薄
OS系统也做得很花哨漂亮
但使用后发现一个特点:
很多理工科要用的软件,比如专业作图和画图软件,专业计算用的软件,
专业领域内要用的软件等等
上述很多软件都没有mac OS系统版的,即使个别有,也没有windows下好用
所以mac OS 不适合理工科的学生和研究人员用
很适合文科的人用
如果非要用macbook的机器,也建议安装个双系统什么的
这样似乎可以两全其美
欢迎大家来讨论这个话题
☆─────────────────────────────────────☆
Acartia (深水鱼) 于 (Sun Dec 30 21:31:40 2012, 美东) 提到:
板凳,沙发,眼睛,茶水
☆─────────────────────────────────────☆
wavelets02 (好心当成驴肝肺) 于 (Sun ... 阅读全帖 |
|
w*********l 发帖数: 1337 | 33 如果你是单cpu,而且你的workload是cpu-bound(就是基本没有i/o),那多线程一定会
慢。慢多少就要看系统管理线程的开销有多少了。
p.s. 你这个code贴得太烂,格式都没了,没人有心思看。 |
|
H**********k 发帖数: 224 | 34 我的3M vs 6M cache经验:
P8400 3M cache 2.x G
P9500 6M cache 2.x G
做一组小kernel大image的convolution, intel c+ipp编译的程序
8400开两个线程反而比单线程慢
9500就是两线程更快
猜测瓶颈在cache上…… |
|
b*********d 发帖数: 3539 | 35 前几天看到有人用迅雷下东西被学校抓,觉着就算是中文的p2p也开始有人查了,真没
什么p2p软件还“安全”。想从MU上下电影,单线程http挺好,只是每个ip貌似有限制
。想找个软件可以订三五个线程,排队http下载,这迅雷、快车干的都是脏活,想不开
p2p都不行。想了半天,想起来10年前用的网络蚂蚁...
这蚂蚁还真是老当益壮,http速度跑的飞快,干活也干净,绝不上载。任务拍多、优先
级、自订线程数、任务数,该有的功能都有了。
或许firefox有类似的extension?反正我还没找到。反正蚂蚁把我的问题解决了。现在
的p2p软件真是自作聪明,结果聪明反被聪明误。我看早晚迅雷、快车都会被禁。 |
|
c*m 发帖数: 1114 | 36 cpubenchmark用的是多线程程序进行benchmark的。
实际上不好说,就像上面的Matlab case一样,对单线程或者双线程程序,4核虽然核多
但用不上也是白搭。好多时候还不如双核高主频的cpu呢。 |
|
t*****z 发帖数: 1598 | 37 SuperMicro X8DTL-iF服务器主板,双路1366接口,可插两颗Xeon 5500/5600全系列处
理器,还能超外频。最大的好处是ATX板型,可以塞进随便一个家用机箱。
新的要将近300美元。昨晚在ebay上看到个好deal,号称是new other,最后以138美元
拍入。顺手捡了颗14美元的Xeon E5504用来亮板。
之所以会想买个ATX的板是因为楼主家里已经囤了一个好ATX机箱。这是屁股决定大脑的
典型。
以前曾经在双路至强5600和双路皓龙4300之间犹豫了一阵,各有利弊:
双路至强:
优点:单线程性能强,线程多(24个框);CPU选择范围大(25-1500美元的都有,两颗
各150美元的就可以跟i7-4960X一战了);有众多前人成功经验可循(比如玩L5639的一
干图吧众)。缺点:内存频率低(1333),双路服务器板很难超频。
双路皓龙:
优点:小众平台,AMD信仰光环,逼格高;多线程性能可观(16核);CPU便宜(最顶级
的也只要340美元,买个旧点的可以控制在250以内)。缺点:内存只有双通道,散热器
不好找(非服务器散热器只有猫头鹰出了一款),以及既... 阅读全帖 |
|
s*****o 发帖数: 1565 | 38 一个多线程的任务,用了5241秒,
E3-1230V3用了6497秒
X5650单线程虽然弱爆,多线程24%的优势 |
|
o***i 发帖数: 603 | 39 抱歉不知道怎么取个好subject
问题是这样的,服务器端需要运行一个单线程,客户端需要查看这个线程的状态(运行
否),并且需要可以控制那个线程如启动/暂停/停止
大牛们给提供个思路? |
|
z****e 发帖数: 54598 | 40 这块有啥好练的
如果自己写,core java -> java.util.concurrent这个包好好熟悉一下
如果不是自己写,用框架 -> akka,vert.x这些好好熟悉一下
这是server side
至于客户端,你应该避免被多线程所困扰,客户端大部分都是单线程的
少数比如android这种,你也只需要处理一下io和ui线程的冲突就好了
留意一下原子操作 |
|
o**2 发帖数: 168 | 41 关于immutable objects
首先我要指出的是:immutable objects即不是FMP的goal,也不是FMP的feature,它们
和FMP没有关系。
多线程编程需要immutable objects,这样可以减轻出错的机会。因为你编这些object
的时候,不需要考虑thread safe了。
FMP中的每一个active object都是一个独立的处理中心,FMP保证每一个active object
的impl object及其用到的所有objects,都将运行在同一个单线程环境中。于是,
objects是不是immutable已经不是一个concern了。
FMP的message里的objects是要暴露在不同的线程里的,至少在一个caller object和一
个impl object里,这样就有两个thread了。
FMP的应对是允许用户选择他们觉得合适的messenger implementation。FMP是一个spec
,不同的software vendor可以提供不同的messenger impl。因为messenger impl的成
本很低,比如... 阅读全帖 |
|
z****e 发帖数: 54598 | 42 再给你醒酒一下
我说的是
只用单线程的方式去编app
可以省很多不必要的麻烦
不仅可以避开多线程所带来的各种冲突
而且可以减少资源的消耗
让低端的设备也能很好滴跑起来
提升客户体验
这是一
其次,对于多核等带来的利好
完全可以通过交给gc等急需cpu资源等环节去处理
多线程对于一般mobile的app来说
显得很多余,但是如果能搞定gc
会使得程序猿写程序更加轻松
这才是真正需要优化的地方
从这两点上说,mobile的开发也将会越来越简单
更不需要c++了,本身在mobile上玩游戏就有些很扯淡了
真正游戏,尤其是大投入的游戏,有几个是瞄准mobile市场的
现在热还不是因为传统游戏业萧条
都养不起那么多人,只好全部赶去搞mobile
再加一把力,下一步是在微波炉上写app |
|
n**x 发帖数: 606 | 43 500线程只是我测试时是看看这机器能发挥到什么极致。这个算票不多线程你说怎么办
?单线程? |
|
d***a 发帖数: 13752 | 44 0.2us在4GHz IPC=2.0的机器上,相当于1600条指令
这是按单核单线程来算的,还没有考虑多线程
如果是10核20线程,那就是20x1600=32,000了(当然IPC会降一些) |
|
g*****g 发帖数: 34805 | 45 你小看老魏了。老魏发现计数器有问题,已经改回单线程了。发现多线程太难了,还是
单线程比较安全。 |
|
c****3 发帖数: 10787 | 46 还有一种办法。几千个客户端到服务器的TCP连接,你不可能用单线程处理吧?
收到请求后,先在处理socket的线程算座位,因为是在一个机器,你可以从内存读到最
新座位分配,然后把请求加上座位号,放到FIFO的queue里。让那个计数器线程处理。 |
|
n******t 发帖数: 4406 | 47 自动多线程就是扯淡。现在99%的程序员单线程程序都写不明白。
这些人根本就不应该让他们碰任何需要多线程的场合。
剩下懂的程序员,用C就够了。
的。 |
|
V*********r 发帖数: 666 | 48
就当作python没有“多线程”这回事就好了,js等语言不都还没有多线程吗
多进程 + 单线程异步并发 是主流解决方案 |
|