由买买提看人间百态

topics

全部话题 - 话题: 单线程
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
y****n
发帖数: 192
1
一个线程在读文件的时候会不会把文件锁住?
另外,是不是即使用多线程同时读文件也不会加快速度呢?我的理解是I/O通道只有一个,单线程和多线程能达到的速度已经被瓶颈了。
谢谢!
z****e
发帖数: 2024
2
我靠,我一天不来,就乱成这样了???
还没来得及看全回帖。
1. mutex 就够了。mutex就是干lz说的这个情况用的。
2. C++根本就是单线程模式,其多线程依赖于具体的library。C++0x已经在标准里边加
了多线程,std::thread. gcc 4.4以上可用,windows下用just::thread,这个是C++的
未来。其他的库都不是标准支持的,而多线程从理论上说,是不能用库来实现的。有大
牛的一篇文章讲这个。
z****e
发帖数: 54598
3
来自主题: Programming版 - 单线程多线程说到底
我压根没谈线程和进程
我的意思是,不管是线程还是进程
你都不需要自己动手去做
多线程也好,多进程也罢
无非一个调度的问题
自己折腾说到底就是自己处理调度
跟level有个p关系
说的根本就不是区别,而是共同点
看一群人大谈差异,让我觉得好笑

kernel
j*****u
发帖数: 1133
4
因为多线程同时读,文件在同一块物理硬盘上,磁头要来回切换磁道
文件读取受限于硬盘,多线程不会提高速度
c*****t
发帖数: 1879
5
如果你的文件很大,同时处理的时间很长。双线程其实是个不错的选择。
一个专门读硬盘(producer),一个专门处理(consumer)。即使只有
一个 cpu,也是很好的选择。
一般的
while ( read ( buffer ) )
{ dealwith ( buffer ); }
有个很大的问题就是,没有利用 I/O block 的时候(其实 cpu idle)
做事情。不过一般文件小,又因为 disk cache,效果不是太明显。大
文件就比较重要了。

一个,单线程和多线程能达到的速度已经被瓶颈了。
x****u
发帖数: 44466
6
这个仅仅在gcc的非线程安全的优化模式下才有意义。
现在几乎没有这样的程序非要单线程的极端优化,MSVC也是默认不破坏多线程语义。
A*****i
发帖数: 3587
7
来自主题: Programming版 - 单线程多线程说到底
别闹了行么?该干啥去干啥,一个多线程让您吹成绿卡神器了
还扯上大脑结构了,卧槽,吐槽无力
您大脑结构是万线程的,满意了?
z****e
发帖数: 54598
8
应该说fp不反对var
反对var是为了多线程编造出来的谎言
因为pure fp解决不了多线程带来的var冲突
所以只好immutable鸟
这完全没有必要,就跟单线程一样
纯粹浪费
z****e
发帖数: 54598
9
应该说fp不反对var
反对var是为了多线程编造出来的谎言
因为pure fp解决不了多线程带来的var冲突
所以只好immutable鸟
这完全没有必要,就跟单线程一样
纯粹浪费
L*****e
发帖数: 8347
10
来自主题: Programming版 - 战为止戈,单线程 50M TPS
单就抢票这个功能来讲,我一开始就以为你的方案就是单核,并且我也建议单核。你的
方案多核多线程对performance提高有限,极端情况甚至会降低,并且增加了很多不稳
定性。。。
e***a
发帖数: 1661
11
来自主题: JobHunting版 - 这里有没有多线程算法的专家?
多线程算法 比 刷题网站上的单线程算法 难很多。
想请教 应该看哪几本书?
a****l
发帖数: 8211
12
Not only will multi-threading not increase the reading speed of a file, most
probably it would actually slow down the speed and at the same time is
murdering the hard drive. Good luck.

一个,单线程和多线程能达到的速度已经被瓶颈了。
r******r
发帖数: 700
13
是啊。多线程程序,试了一下,在 eclipse 里 debug,好像也与单线程不一样,不太
好 track 逻辑。
l*****o
发帖数: 473
14
来自主题: Java版 - 多线程真头疼,但也挺有趣
我试着对楼主的方法进行点评一下,好像还有许多地方是可以提高的。
《《(1)将原来的逐行读取,逐行处理,改为先将每个文件的所有行读到一个新建的
DataStore 中。
这步是可以用memory mapped file进行提高的。如果单线程读取所有的文件,那么这部
分工作就变成串行化了。
《《(4)现在由于多线程异步处理,直接输出无法保证顺序。就先把这部分信息存储
到一个新建的 map 中,保存记录 ID -> data 的映射。当一个文件处理完了,才最后
按 ID 从map 有序输出到 XML 中。
为了保证顺序,其实还有其它方式可以处理的。比如,我们可以输出到不同文件中,最
后用脚本把所有东西重新拼成一个新的文件。
M********u
发帖数: 42
15
如果是简单的for loop,就用openmp包在loop外。如果logic比较复杂,需要手动
create thread。没有一个简单的办法把一个单线程的程序改成多线程的
p***o
发帖数: 1252
16
单线程语义 is well defined.
There is no such thing called 多线程语义, especially for multiple variables.
z****e
发帖数: 2024
17
来自主题: Programming版 - 多线程有什么优化的方法?
我怎么觉得很多情况多线程都比单线程慢呢?
我是能不加互斥锁就不加,
而且也没有busy waiting。
看见两个cpu100%工作,结果,还是比一个cpu100%要慢,或者想当。
这种为什么?
z****e
发帖数: 2024
18
来自主题: Programming版 - 多线程有什么优化的方法?
我就是单线程用的那个f。
觉得多线程这玩意还真难搞得很精通。
f*******y
发帖数: 988
19
来自主题: Programming版 - 用多线程怎么比单线程还慢呢?
全是外部I/O搞啥多线程
m******t
发帖数: 635
20
来自主题: Programming版 - javascript怎么实现多线程
怎么让我想起了ruby里的Fiber,几年前很热闹过一阵,忘了后来怎么样了。
怎么感觉js一副要重走长征路的样子,要把perl, python, ruby的老路子再重来一遍?
加了多线程的话,js的语义会不会有问题啊,以前一直假设单线程的啊?
a*********0
发帖数: 2727
21
来自主题: Programming版 - 单线程多线程说到底
哥们还是回去好好把os的基础知识学学吧,线程进程的区别是什么都没搞清楚,kernel
-level, user-level thread的区别是什么。忽悠不是cs科班出来的还行,现在码工遍
地,就不要出来现了
z****e
发帖数: 54598
22
来自主题: Programming版 - 单线程多线程说到底
这种笑话,当真就搞笑了
多线程搞起来是比较恶心
但是市场如果不需要你去搞
那就是另外一回事了
z****e
发帖数: 54598
23
来自主题: Programming版 - 单线程多线程说到底
没有哦
你要告诉我os搞不定多线程的调度还是什么?
你这不是吃饱了撑着嘛
H**r
发帖数: 10015
24
来自主题: Programming版 - 单线程多线程说到底
说得好
程序员应该知道多线程是什么,然后用什么工具解决。具体的算法,优化如果都从头走
要累死,而且肯定会有疏忽,然后就挂了。
z****e
发帖数: 54598
25
来自主题: Programming版 - 单线程一般都是历史原因
多线程的话,一起刷新主界面?
会闪,我看android还是一个主线程在跑
s****u
发帖数: 1433
26
来自主题: Programming版 - 战为止戈,单线程 50M TPS
某些地方想简单了是可以修改的。
我就是想提示一下,连订票人都不区分,怎么个订法?
比如10个人买8张票,我肯定知道前8个有票,后
两个没票。问题是卖给谁了啊?
所以,每个ReserveTicket的子线程肯定得有个标识吧。
抢完票以后,ReserveTicket以后,肯定得把
这个结果根据子线程的标识把这个结果记录进数据库吧。
然后,还得通知顾客抢票成功或者失败吧。
产生这些通知的程序在哪里呢?
这些不靠这个CPU同时干么?
这些问题,魏老师打算怎么解决啊?
e***a
发帖数: 1661
27
来自主题: Programming版 - 这里有没有多线程算法的专家?
多线程算法 比 刷题网站上的单线程算法 难很多。
想请教 应该看哪几本书?
z****e
发帖数: 54598
28
fp涵盖了var
只是不推荐使用var
否则会在并发的时候用上大量的lock
会让你的程序变得难以维护
这一点上说,无论什么多线程的框架
其本意都是为了让用户不再使用lock
像单线程一样编程是目的
这个其实无论啥都是一样的
但是实现的手段截然不同,而且效果也很明显有差异
z****e
发帖数: 54598
29
fp涵盖了var
只是不推荐使用var
否则会在并发的时候用上大量的lock
会让你的程序变得难以维护
这一点上说,无论什么多线程的框架
其本意都是为了让用户不再使用lock
像单线程一样编程是目的
这个其实无论啥都是一样的
但是实现的手段截然不同,而且效果也很明显有差异
k******r
发帖数: 2300
30
来自主题: Military版 - 美国人都是单线程啊
多线程也不能同时做两件事情

发帖数: 1
31
下面是单线程,而且图是adjacency list
public class Solution {
//5763 ms, method: bfs, 时间O(N + E),空间O(N)。
public List> connectedSet(ArrayList
nodes) {
List> res = new ArrayList<>();
List path = new ArrayList<>();
Set visited = new HashSet<>();
for (UndirectedGraphNode node : nodes) {
if (!visited.contains(node)) {
path.clear();
Queue阅读全帖
h****c
发帖数: 10494
t********8
发帖数: 14817
h**********c
发帖数: 4120
34
\\单线程程序
#include
#include
#include
#include
#include
void parsePermutation (int n, int m, int * rindx,int *results) {
int * data = new int[n];
int i =0,j=0;
for (i=0; i data[i] = i+1;
for (i=0; i results[i] = data[rindx[i]-1];
for (j=rindx[i]-1; j data[j] = data[j+1];
}
}
delete [] data; data = NULL;
}
bool getXs(int n,int *inputs, int * rs) {
bool
h**********c
发帖数: 4120
35
在单线程程序的for 前面加了一句,
#pragma omp parallel for
performance 略有提高,285.905950秒,
1. 无法证实performance提高了,还是今天晚上运行的程序少了,monitor上显示,一个核
负载比较大,其他的核少,比较均匀.
2. 没有实现cs or mutex,#pragma omp parallel for估计不能处理race condition(有
待查证).
c*m
发帖数: 1114
36
我觉得你应该去google一下,关掉HT占cpu 25%不见得比不关HT 占cpu 13%就快。单线程
cpu的计算能力应该是一定的,即使会比关HT的差点也不会差很多,否则提出HT这个概
念就是个joke. 25%和13%这些数值不能说明任何问题。
z****e
发帖数: 54598
37
只要避开并发操作,都不难
实际上单线程和异步也是用来规避并发用的
x****u
发帖数: 44466
38
你得有根据。
如果global variable被编译器优化成了两个不相干的值,那么这就直接违反了其定义
,必须在every scope里面accessible。
C语言里面从没有说这句话有个单线程的前提,所以还是可以被报告bug。

not
x****u
发帖数: 44466
39
我手头没有gcc的环境,msvc的行为和我预测一致。
另外我能查到的所有文档都没有说global variable仅仅在单线程时是global的,质疑
标准的其实是你。

you
t****t
发帖数: 6806
40
我早跟你说了没什么可研究的, 这个是well defined behaviour and well known, C/C
++本来就是单线程模型, 你非要当个大发现还硬说是bug. 同步本来就应该靠intrinsic
, 或者一定要lock-free的话, 用atomic. volatile就是在没有atomic的情况下一个临
时的代替品, 自己也不是很靠谱的, 何况还有CPU在那里搞乱序.
z****e
发帖数: 2024
41
来自主题: Programming版 - 多线程有什么优化的方法?
刚才编译有个typo,后来发现了,-O3是总体快了很多。但是仍然是单线程快
output
p***o
发帖数: 1252
42
来自主题: Programming版 - 多线程有什么优化的方法?
你不是有个f么,单线程用这个好了。
g*****g
发帖数: 34805
43
来自主题: Programming版 - 多线程程序有什么好的调式方法?
你写过吗?有多少同时在线用户?纯扯蛋。除非你用node之类单线程的架构,否则是不
可避免的。
l**********n
发帖数: 8443
44
来自主题: Programming版 - javascript怎么实现多线程
js本质上是个单线程的
I like this lib:
https://github.com/it-ony/flow.js
T********i
发帖数: 2416
45
来自主题: Programming版 - 战为止戈,单线程 50M TPS
你的这个理解正确。
其实我也是纸上谈兵,写了几行比划一下。先选多线程带lock指令的。
这里赞一下SSA的contention解决方案,确实elegant。
后来我感觉多核的代价也挺高,就试验了一下这个单核,简单,一致,而且性能超高。

发现
l**********n
发帖数: 8443
46
单线程用不着immutubility
z****e
发帖数: 54598
47
其他框架根本不需要多process,去哪里来的ipc问题?
node的ipc放在其他框架就是itc,而且vert.x天生就有一个bus予以解决
node还要自己倒腾第三方工具予以解决,只有node需要倒腾第三方工具解决并发问题
其他都不用,哪怕是akka都是自己搞定,所谓ipc就是一个集成的问题
单机系统还需要集成的只有单线程,其他都不用,自己能搞定
这个完全是一个名词上的混淆,根本不是什么优势,是大大滴劣势
至于io快,纯粹胡说八道,vert.x vs node.js的报告到处都是
自己试试就知道node有多烂了,你还是没试过,凭想象来指责其他框架的问题
l**********n
发帖数: 8443
48
单线程用不着immutubility
z****e
发帖数: 54598
49
其他框架根本不需要多process,去哪里来的ipc问题?
node的ipc放在其他框架就是itc,而且vert.x天生就有一个bus予以解决
node还要自己倒腾第三方工具予以解决,只有node需要倒腾第三方工具解决并发问题
其他都不用,哪怕是akka都是自己搞定,所谓ipc就是一个集成的问题
单机系统还需要集成的只有单线程,其他都不用,自己能搞定
这个完全是一个名词上的混淆,根本不是什么优势,是大大滴劣势
至于io快,纯粹胡说八道,vert.x vs node.js的报告到处都是
自己试试就知道node有多烂了,你还是没试过,凭想象来指责其他框架的问题
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)