由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 单线程多线程说到底
相关主题
老魏问你个问题这玩意太简单了
单线程一般都是历史原因别吵了,看看这个旧贴,三个月还在原地打圈
这里有没有多线程算法的专家?简单就是美
总结贴请java大牛谈谈大并发的解决方案
哥决定常驻这个版了请教一个Node.js的疑惑
用多线程怎么比单线程还慢呢?多线程,异步,并发冲突,fp和其它
来,讨论个问题java和swift还是缺一不可
应该请dsb之类学物理的来说说spring 是一个event loop一直在跑么?然后处理各种event?
相关话题的讨论汇总
话题: 多线程话题: 调度话题: 单线程话题: web话题: 游戏
进入Programming版参与讨论
1 (共1页)
z****e
发帖数: 54598
1
就是一个调度问题
一般多线程本质就是交给os去做调度
做成单线程,等于自己去做调度,纯粹吃太饱了撑着
如果只是为了躲开lock的话
压根没有必要,有的是办法
随便一个web server/web service server/app server什么都可以做到
单线程模式,主要是用在游戏上
因为游戏上如果用多线程,随便一个锁出问题
整个屏幕就停滞了,游戏因为动画原因,所以对一些细微的变化
很敏感,所以千万不要搞成多线程,一旦冲突整个游戏就挂了
要搞成伪的多线程,就是单主线程加辅助线程的模式
这就是伪多线程的由来,如果你google一下游戏多线程
就能看到很多这样的例子,教你怎么用单线程来替换多线程
但是对于server来说,其实你没有必要自己去搞
因为一来,你有各种server软件帮你做,你不需要用到各种锁
或者说你不需要自己去倒腾锁
其次就是,不管怎样,多cpu多core是趋势
你自己处理调度,就没事找事
因为os早搞定很多年了,没有必要
比如老魏那种,连cpu多少个core,每个core做什么都要自己调度
我哭了,老魏要是一不小心上班路上出了点啥意外,写的代码别人连接手都无法接手
就冲这一点,就不能用老魏的方案,找死的节奏
所以这里有人说full stack,我很怀疑这里有些id是否有能力做full stack
要做full stack,前台把游戏搞一搞,后台把j2ee搞一搞
这样各种模型就融会贯通了,否则没戏,视野不够开阔
经常鸡同鸭讲,光做web是远远不够的
因为web的复杂度既比不上游戏,也比不上j2ee那些乱七八糟的framework
web server就是自己瞎写,适合脚本来简化,包括web service server
c*****4
发帖数: 1777
2
简历上有无多线程,是六位数年薪和五位数年薪的区别。因为会做多线程的人大脑结构
和只会做单线程的不一样。做PERM打广告申请绿卡,只要列明会多线程,一份合格简历
都收不到。

【在 z****e 的大作中提到】
: 就是一个调度问题
: 一般多线程本质就是交给os去做调度
: 做成单线程,等于自己去做调度,纯粹吃太饱了撑着
: 如果只是为了躲开lock的话
: 压根没有必要,有的是办法
: 随便一个web server/web service server/app server什么都可以做到
: 单线程模式,主要是用在游戏上
: 因为游戏上如果用多线程,随便一个锁出问题
: 整个屏幕就停滞了,游戏因为动画原因,所以对一些细微的变化
: 很敏感,所以千万不要搞成多线程,一旦冲突整个游戏就挂了

z****g
发帖数: 75
3
混淆了concurrency 和 parallelism
多看书,多增长知识是正道

【在 z****e 的大作中提到】
: 就是一个调度问题
: 一般多线程本质就是交给os去做调度
: 做成单线程,等于自己去做调度,纯粹吃太饱了撑着
: 如果只是为了躲开lock的话
: 压根没有必要,有的是办法
: 随便一个web server/web service server/app server什么都可以做到
: 单线程模式,主要是用在游戏上
: 因为游戏上如果用多线程,随便一个锁出问题
: 整个屏幕就停滞了,游戏因为动画原因,所以对一些细微的变化
: 很敏感,所以千万不要搞成多线程,一旦冲突整个游戏就挂了

T********i
发帖数: 2416
4
这个zhaoce前几天还问我atomic指令我是不是要自己实现?

【在 z****g 的大作中提到】
: 混淆了concurrency 和 parallelism
: 多看书,多增长知识是正道

j********p
发帖数: 9680
5
感觉老魏才是高明,这才是保证自己永不失业的绝招啊.
什么程序都写的那么友好,什么人都能来接手,
怎么能体现出作者的存在价值和意义呢?
T********i
发帖数: 2416
6
也就是那么几十行程序。
如果有谁接手不了那几十行程序`真该问问自己为什么了。

【在 j********p 的大作中提到】
: 感觉老魏才是高明,这才是保证自己永不失业的绝招啊.
: 什么程序都写的那么友好,什么人都能来接手,
: 怎么能体现出作者的存在价值和意义呢?

j********p
发帖数: 9680
7
晕,才几十行.
当我没说.

【在 T********i 的大作中提到】
: 也就是那么几十行程序。
: 如果有谁接手不了那几十行程序`真该问问自己为什么了。

z****g
发帖数: 75
8
Java/C/C++每行没限制长度吧

【在 j********p 的大作中提到】
: 晕,才几十行.
: 当我没说.

g****t
发帖数: 4493
9
这帖子怎么能上首页?
T********i
发帖数: 2416
10
我每行最多一个分号

【在 z****g 的大作中提到】
: Java/C/C++每行没限制长度吧
相关主题
用多线程怎么比单线程还慢呢?这玩意太简单了
来,讨论个问题别吵了,看看这个旧贴,三个月还在原地打圈
应该请dsb之类学物理的来说说简单就是美
进入Programming版参与讨论
T********i
发帖数: 2416
11
不正常啊不正常,这年头流行脑残。

【在 g****t 的大作中提到】
: 这帖子怎么能上首页?
f********x
发帖数: 2086
12

最近CS类文章经常首页好几贴

【在 T********i 的大作中提到】
: 不正常啊不正常,这年头流行脑残。
x**i
发帖数: 2627
13
re

【在 z****e 的大作中提到】
: 就是一个调度问题
: 一般多线程本质就是交给os去做调度
: 做成单线程,等于自己去做调度,纯粹吃太饱了撑着
: 如果只是为了躲开lock的话
: 压根没有必要,有的是办法
: 随便一个web server/web service server/app server什么都可以做到
: 单线程模式,主要是用在游戏上
: 因为游戏上如果用多线程,随便一个锁出问题
: 整个屏幕就停滞了,游戏因为动画原因,所以对一些细微的变化
: 很敏感,所以千万不要搞成多线程,一旦冲突整个游戏就挂了

b*******s
发帖数: 5216
14
lol

【在 T********i 的大作中提到】
: 这个zhaoce前几天还问我atomic指令我是不是要自己实现?
d********f
发帖数: 43471
15
你们这些java程序员最大的问题就是以为这个世界上只有一个java

【在 z****e 的大作中提到】
: 就是一个调度问题
: 一般多线程本质就是交给os去做调度
: 做成单线程,等于自己去做调度,纯粹吃太饱了撑着
: 如果只是为了躲开lock的话
: 压根没有必要,有的是办法
: 随便一个web server/web service server/app server什么都可以做到
: 单线程模式,主要是用在游戏上
: 因为游戏上如果用多线程,随便一个锁出问题
: 整个屏幕就停滞了,游戏因为动画原因,所以对一些细微的变化
: 很敏感,所以千万不要搞成多线程,一旦冲突整个游戏就挂了

f****p
发帖数: 18483
16
你读过kernel的code么,又在这大嘴巴。

【在 z****e 的大作中提到】
: 就是一个调度问题
: 一般多线程本质就是交给os去做调度
: 做成单线程,等于自己去做调度,纯粹吃太饱了撑着
: 如果只是为了躲开lock的话
: 压根没有必要,有的是办法
: 随便一个web server/web service server/app server什么都可以做到
: 单线程模式,主要是用在游戏上
: 因为游戏上如果用多线程,随便一个锁出问题
: 整个屏幕就停滞了,游戏因为动画原因,所以对一些细微的变化
: 很敏感,所以千万不要搞成多线程,一旦冲突整个游戏就挂了

f****p
发帖数: 18483
17
这位是让java这种懒鬼烂语言给害了的主,不懂但是到处大嘴巴。

【在 T********i 的大作中提到】
: 这个zhaoce前几天还问我atomic指令我是不是要自己实现?
a*********0
发帖数: 2727
18
哥们还是回去好好把os的基础知识学学吧,线程进程的区别是什么都没搞清楚,kernel
-level, user-level thread的区别是什么。忽悠不是cs科班出来的还行,现在码工遍
地,就不要出来现了
K****n
发帖数: 5970
19
靠OS,web service各个core负载不均匀有什么常见解法

【在 z****e 的大作中提到】
: 就是一个调度问题
: 一般多线程本质就是交给os去做调度
: 做成单线程,等于自己去做调度,纯粹吃太饱了撑着
: 如果只是为了躲开lock的话
: 压根没有必要,有的是办法
: 随便一个web server/web service server/app server什么都可以做到
: 单线程模式,主要是用在游戏上
: 因为游戏上如果用多线程,随便一个锁出问题
: 整个屏幕就停滞了,游戏因为动画原因,所以对一些细微的变化
: 很敏感,所以千万不要搞成多线程,一旦冲突整个游戏就挂了

b*******s
发帖数: 5216
20
这也是个让人看了产生无力感的帖子

【在 z****e 的大作中提到】
: 就是一个调度问题
: 一般多线程本质就是交给os去做调度
: 做成单线程,等于自己去做调度,纯粹吃太饱了撑着
: 如果只是为了躲开lock的话
: 压根没有必要,有的是办法
: 随便一个web server/web service server/app server什么都可以做到
: 单线程模式,主要是用在游戏上
: 因为游戏上如果用多线程,随便一个锁出问题
: 整个屏幕就停滞了,游戏因为动画原因,所以对一些细微的变化
: 很敏感,所以千万不要搞成多线程,一旦冲突整个游戏就挂了

相关主题
请java大牛谈谈大并发的解决方案java和swift还是缺一不可
请教一个Node.js的疑惑spring 是一个event loop一直在跑么?然后处理各种event?
多线程,异步,并发冲突,fp和其它单线程服务不支持transaction,智商下限么?
进入Programming版参与讨论
l******l
发帖数: 2651
21
你是程序员?
google "thread safe".

【在 z****e 的大作中提到】
: 就是一个调度问题
: 一般多线程本质就是交给os去做调度
: 做成单线程,等于自己去做调度,纯粹吃太饱了撑着
: 如果只是为了躲开lock的话
: 压根没有必要,有的是办法
: 随便一个web server/web service server/app server什么都可以做到
: 单线程模式,主要是用在游戏上
: 因为游戏上如果用多线程,随便一个锁出问题
: 整个屏幕就停滞了,游戏因为动画原因,所以对一些细微的变化
: 很敏感,所以千万不要搞成多线程,一旦冲突整个游戏就挂了

A*****i
发帖数: 3587
22
别闹了行么?该干啥去干啥,一个多线程让您吹成绿卡神器了
还扯上大脑结构了,卧槽,吐槽无力
您大脑结构是万线程的,满意了?

【在 c*****4 的大作中提到】
: 简历上有无多线程,是六位数年薪和五位数年薪的区别。因为会做多线程的人大脑结构
: 和只会做单线程的不一样。做PERM打广告申请绿卡,只要列明会多线程,一份合格简历
: 都收不到。

z****e
发帖数: 54598
23
插,我跟你说的是怎么绕开这种无聊的问题
怕的就是你这种吃饱了没事干,自己去倒腾的家伙
无论是concurrency还是parallelism,你都不需要自己动手
清楚了没有?
还区别,我压根没谈区别

【在 z****g 的大作中提到】
: 混淆了concurrency 和 parallelism
: 多看书,多增长知识是正道

z****e
发帖数: 54598
24
这种笑话,当真就搞笑了
多线程搞起来是比较恶心
但是市场如果不需要你去搞
那就是另外一回事了

【在 c*****4 的大作中提到】
: 简历上有无多线程,是六位数年薪和五位数年薪的区别。因为会做多线程的人大脑结构
: 和只会做单线程的不一样。做PERM打广告申请绿卡,只要列明会多线程,一份合格简历
: 都收不到。

z****e
发帖数: 54598
25
系统都是增长的嘛
怎么可能一辈子几十行
这种事别人都不用写
你还要写几十行
那就是捉了

【在 j********p 的大作中提到】
: 晕,才几十行.
: 当我没说.

z****e
发帖数: 54598
26
放你老娘的狗屁

【在 d********f 的大作中提到】
: 你们这些java程序员最大的问题就是以为这个世界上只有一个java
z****e
发帖数: 54598
27
没有哦
你要告诉我os搞不定多线程的调度还是什么?
你这不是吃饱了撑着嘛

【在 f****p 的大作中提到】
: 你读过kernel的code么,又在这大嘴巴。
z****e
发帖数: 54598
28
我压根没谈线程和进程
我的意思是,不管是线程还是进程
你都不需要自己动手去做
多线程也好,多进程也罢
无非一个调度的问题
自己折腾说到底就是自己处理调度
跟level有个p关系
说的根本就不是区别,而是共同点
看一群人大谈差异,让我觉得好笑

kernel

【在 a*********0 的大作中提到】
: 哥们还是回去好好把os的基础知识学学吧,线程进程的区别是什么都没搞清楚,kernel
: -level, user-level thread的区别是什么。忽悠不是cs科班出来的还行,现在码工遍
: 地,就不要出来现了

z****e
发帖数: 54598
29
thread safe so what?
我说的是有没有必要自己去实现
而不是thread safe
你要说thread safe,那我的意思就是别人帮你搞定了thread safe
有很多种thread safe的方法

【在 l******l 的大作中提到】
: 你是程序员?
: google "thread safe".

z****e
发帖数: 54598
30
我就这么跟你说
你连core都数得清清楚楚的
就是吃太饱了撑着
不用数一样跑
够清楚了没有?
说的就是你这种愚蠢的自以为是的举动
程序应该越简单越好
除非有性能瓶颈,或者维护上的死结
否则怎么简单怎么来
而不是指望别人懂这个懂那个
你都多大岁数的人了
你比别人懂多一点难道不应该?
反过来,你有没有想过别人如果懂得没有你多的话
那如果搞不定的话,你该怎么办?
你的plan b在哪里?
不要说几十行,写十行就足够让人晕菜的代码不要太多
你压根就不懂如何跟别人合作

【在 T********i 的大作中提到】
: 这个zhaoce前几天还问我atomic指令我是不是要自己实现?
相关主题
赌约在此单线程一般都是历史原因
redis 存储 object的问题: 每个object一个hash, 这样能行吗?这里有没有多线程算法的专家?
老魏问你个问题总结贴
进入Programming版参与讨论
z****e
发帖数: 54598
31
我问的是你的设计里面,会不会因为线程调度而打断
你都没听明白我在问什么
要给你举例吗?
java里面有一个AtomicInteger,我就想知道一下
你这里面是不是做了类似的操作
如果你用的不是AtomicInteger,而是Integer的话
这里面会有调度而产生的一些很trivial的问题
当然int不会有问题,你想过你如何给别人解释这里面的问题了么?
难怪你到现在还在单打独斗
nasdaq平台跟你p关系没有
别吹了,你只是一个送单的

【在 T********i 的大作中提到】
: 这个zhaoce前几天还问我atomic指令我是不是要自己实现?
z****e
发帖数: 54598
32
没关系,有一种公司叫做consulting
来了就是打击这种家伙的
资本家很喜欢找这种公司来
一来改构架,同时顺带着裁员

【在 j********p 的大作中提到】
: 感觉老魏才是高明,这才是保证自己永不失业的绝招啊.
: 什么程序都写的那么友好,什么人都能来接手,
: 怎么能体现出作者的存在价值和意义呢?

z****e
发帖数: 54598
33
web service跟core的调度没有关系
肯定不是web service造成的
你不用web service也会有同样的问题

【在 K****n 的大作中提到】
: 靠OS,web service各个core负载不均匀有什么常见解法
s*****o
发帖数: 303
34
呵呵,无处着力

【在 b*******s 的大作中提到】
: 这也是个让人看了产生无力感的帖子
h*d
发帖数: 214
35

......
这么说感觉你对多线程编程不熟悉啊。决大部分的GUI API都是单线程的,照你这么说
GUI应用开发也不能用多线程了?用单线程写游戏的一个优势就是容易同步控制所有游
戏元素更新。这个在多线程里可以作到但是需要更多的多线程编写的技能。但无论如何
,GUI的更新绝对是要在一个线程里操作的。这个可能就是你误以为的游戏就是单线程
的。

【在 z****e 的大作中提到】
: web service跟core的调度没有关系
: 肯定不是web service造成的
: 你不用web service也会有同样的问题

n******e
发帖数: 957
36
不明觉厉
l**********n
发帖数: 8443
37
不明觉厉。
H**r
发帖数: 10015
38
说得好
程序员应该知道多线程是什么,然后用什么工具解决。具体的算法,优化如果都从头走
要累死,而且肯定会有疏忽,然后就挂了。

【在 z****e 的大作中提到】
: 我压根没谈线程和进程
: 我的意思是,不管是线程还是进程
: 你都不需要自己动手去做
: 多线程也好,多进程也罢
: 无非一个调度的问题
: 自己折腾说到底就是自己处理调度
: 跟level有个p关系
: 说的根本就不是区别,而是共同点
: 看一群人大谈差异,让我觉得好笑
:

n***e
发帖数: 723
39
额。。。

【在 z****e 的大作中提到】
: 就是一个调度问题
: 一般多线程本质就是交给os去做调度
: 做成单线程,等于自己去做调度,纯粹吃太饱了撑着
: 如果只是为了躲开lock的话
: 压根没有必要,有的是办法
: 随便一个web server/web service server/app server什么都可以做到
: 单线程模式,主要是用在游戏上
: 因为游戏上如果用多线程,随便一个锁出问题
: 整个屏幕就停滞了,游戏因为动画原因,所以对一些细微的变化
: 很敏感,所以千万不要搞成多线程,一旦冲突整个游戏就挂了

1 (共1页)
进入Programming版参与讨论
相关主题
spring 是一个event loop一直在跑么?然后处理各种event?哥决定常驻这个版了
单线程服务不支持transaction,智商下限么?用多线程怎么比单线程还慢呢?
赌约在此来,讨论个问题
redis 存储 object的问题: 每个object一个hash, 这样能行吗?应该请dsb之类学物理的来说说
老魏问你个问题这玩意太简单了
单线程一般都是历史原因别吵了,看看这个旧贴,三个月还在原地打圈
这里有没有多线程算法的专家?简单就是美
总结贴请java大牛谈谈大并发的解决方案
相关话题的讨论汇总
话题: 多线程话题: 调度话题: 单线程话题: web话题: 游戏