由买买提看人间百态

topics

全部话题 - 话题: pthreads
首页 上页 1 2 3 4 5 6 7 8 下页 末页 (共8页)
w**********2
发帖数: 20
1
来自主题: JobHunting版 - G家 system design 和 open ended questions
大家好,5天前,hc 送审的时候, 纠结通过率,搜到了这个网站,(这网站在新加坡
貌似没什么人用) 相见恨晚。。 3天前,写了onsite 小面筋,想求个祝福。可惜新注
册的用户,禁言三天,没有发上来。三天后,hc 的结果出来了, 还要加一轮。不管机
率如何, 既然还有希望,准备拼一枪。
“our profile was actually reviewed at our hiring committee in the US this
morning and I just received the results. The committee has actually decided
they need some additional data through a couple more interviews.
Accordingly, I'd like to set up 2 more interviews for you, these interviews
will be focused on system design and open ended questions.”
看了版上... 阅读全帖
a****Q
发帖数: 83
2
来自主题: JobHunting版 - 请问C++ threading w/ lock free algorithms
不觉得lock需要基于某种语言来看,基本的思路都是一样的,当然,配合上语言,实现起
来会有不区别:
简单讲就lock和lock free
lock 具体实现:
Java: concurrency package
C/C++; pthread, C11
Linux kernel: spinlock_t, semaphore/mutex, rwlock_t.
Kernel的实现相对复杂一点,因为要区分当前的context,spinlock_t/rwlock_t会屏蔽中
断,所以不能block当前进程,比如不能分配内存,不能有磁盘或是网络读写.其他的和
user space的实现没有概念上的区别.
lock free 的实现实质上就是把lock从一段代码进一步精确到一条或是几条代码,所以
需要硬件上的配合.最实质的就是如何运用memory fence(也就是memory barrier)和CAS
(compare and swap)指令.
具体的实现:
Java: final/volatile/atomic variables;
ass/C/C++: 在C11出来之前很多都是直接内嵌汇编指令... 阅读全帖
u****u
发帖数: 229
3
我有一个程序,主程序产生多个thread,每个thread都要产生一串随机数。
主程序是
{
srand(time(NULL));
for ( i=0;i<10;i++)
{
Thread *pThread = new Thread;
pThread->Begin();//产生一个thread,并使其开始运行
}
}
每个thread的代码是:
{
int data = rand();
cout< Sleep(1000);
}
可是运行结果是: 每次10个thread都产生相同的数。
比如:一开始产生10个12, 1秒后在一起输出10个502,1秒后再一起输出10个44。
这到底是什么原因?有什么方法可以让每次每个thread都输出不同的数?
d****i
发帖数: 4809
4
Java的多线程和OS Native thread的多线程还是很不一样的。就像不同的OS, Win32
thread和pthread也完全不一样,然后Win32和pthread和RTOS上的thread(task)也完全
不一样,虽然概念上总是有些相通之处。
a*****i
发帖数: 4391
5
seems like you didn't install pthread library.
yum install pthread?
z**r
发帖数: 17771
6
来自主题: Linux版 - [合集] 大家都用什么diff tool?
☆─────────────────────────────────────☆
zher (民工.铜豌豆) 于 (Tue Dec 14 13:59:49 2010, 美东) 提到:
还是就用diff command?
☆─────────────────────────────────────☆
wy (戒网) 于 (Tue Dec 14 14:00:08 2010, 美东) 提到:
meld

☆─────────────────────────────────────☆
repast (xebec) 于 (Tue Dec 14 15:46:44 2010, 美东) 提到:
diff / vimdiff
☆─────────────────────────────────────☆
diving (daydreaming) 于 (Tue Dec 14 17:52:31 2010, 美东) 提到:
xxdiff
☆─────────────────────────────────────☆
Shred (Empire State of Mi... 阅读全帖
a**u
发帖数: 7128
7
[Parsed_ass_0 @ 0x80ae2e7a0] Glyph 0x2B2 not found, selecting one more font
for (Arial, 80, 0)
seems it is missing the fonts. How do I tell ffmpeg what font to use?
-----------------------------------
ffmpeg1 -i Farewell.mkv -sameq -vcodec libx264 -threads 26 -y -vf ass=a.
ass fare.mp4
ffmpeg version 1.0.5 Copyright (c) 2000-2012 the FFmpeg developers
built on May 28 2013 19:38:07 with gcc 4.2.2 (GCC) 20070831 prerelease [
FreeBSD]
configuration: --enable-x11grab --prefix=/usr/local --man... 阅读全帖
m****t
发帖数: 37
p***o
发帖数: 1252
9
For pthread, try Win32 thread. Or you can find a pthread port to Win32.
If they are too low level. try Intel TBB.

available. The Cilk++ for Windows will come out very soon.
b***y
发帖数: 2799
10
☆─────────────────────────────────────☆
uuiiuu (无) 于 (Tue Oct 11 22:04:20 2005) 提到:
我有一个程序,主程序产生多个thread,每个thread都要产生一串随机数。
主程序是
{
srand(time(NULL));
for ( i=0;i<10;i++)
{
Thread *pThread = new Thread;
pThread->Begin();//产生一个thread,并使其开始运行
}
}
每个thread的代码是:
{
int data = rand();
cout< Sleep(1000);
}
可是运行结果是: 每次10个thread都产生相同的数。
比如:一开始产生10个12, 1秒后在一起输出10个502,1秒后再一起输出10个44。
这到底是什么原因?有什么方法可以让每次每个thread都输出不同的数?
☆─────────────────────────────────────☆
t****t
发帖数: 6806
11
来自主题: Programming版 - question about the read/write locker
if you want pthread, pthread has rwlock...
f******y
发帖数: 2971
12
来自主题: Programming版 - C++多线程的选择
C++里面多线程的库有好几个:
(1) pthread
(2) boost, 这个其实是pthread的wrapper
(3) tbb
(4) c++0x 也支持一些基本的多线程编程
我现在正在想该学哪一个,个人觉得tbb的功能最强大,c++0x的好处是它是包含在stl
里的,
compiler的支持应该比较好。
各位老手能指点一下这几个库哪个比较好吗?
t****t
发帖数: 6806
13
来自主题: Programming版 - (zz)C++11新特性
新语言标准刚出现肯定会有移植性的问题, 不管你加什么都一样, 因为编译器实现新标
准必定有先有后. 如果从这个角度来看问题, 那就真的什么都不要加了, 永远不变最好
了. perl 5.8出来很长时间后我还能看到check 5.003的程序.
这个滞后性是永远没法避免的. jdk1.2 - 1.5中间搞了多少麻烦? 我不用java, 但是我
也听说过. 语言总要发展的, 如果没有标准化的话, 那就没人控制朝哪个方向发展. 标
准化正是为了避免以后更多的麻烦.
variadic template和C99没关系, 你记错了. 你想说的是variadic macro吧, 那个在c+
+11里确实有了. tuple还是一个很有用的类, 有了variadic template才方便支持的.
thread在unix和windows上还是有很大不同吧. 我windows不熟, 但是我记得win32的调
用应该和pthread并不兼容. 当然肯定有pthread wrapper, boost应该就算一种. 这和
std::thread或boost::thread也没什么区别, 其实c++11的thre... 阅读全帖
t****t
发帖数: 6806
14
来自主题: Programming版 - (zz)C++11新特性
新语言标准刚出现肯定会有移植性的问题, 不管你加什么都一样, 因为编译器实现新标
准必定有先有后. 如果从这个角度来看问题, 那就真的什么都不要加了, 永远不变最好
了. perl 5.8出来很长时间后我还能看到check 5.003的程序.
这个滞后性是永远没法避免的. jdk1.2 - 1.5中间搞了多少麻烦? 我不用java, 但是我
也听说过. 语言总要发展的, 如果没有标准化的话, 那就没人控制朝哪个方向发展. 标
准化正是为了避免以后更多的麻烦.
variadic template和C99没关系, 你记错了. 你想说的是variadic macro吧, 那个在c+
+11里确实有了. tuple还是一个很有用的类, 有了variadic template才方便支持的.
thread在unix和windows上还是有很大不同吧. 我windows不熟, 但是我记得win32的调
用应该和pthread并不兼容. 当然肯定有pthread wrapper, boost应该就算一种. 这和
std::thread或boost::thread也没什么区别, 其实c++11的thre... 阅读全帖
N*******t
发帖数: 66
15
来自主题: Programming版 - 牛人们来看看这个Dao语言怎么样
我没做过嵌入式,不知道相关的运行环境支持什么样的线程。Dao目前支持pthreads和
Windows线程,如果嵌入式环境支持pthreads的话,应该就没问题。
对,我是作者
t****t
发帖数: 6806
16
没什么特别的, 就是对native api的包装, 比如native pthread start function只能
带一个固定的void*参数, std::thread就没有限制等等
基本上就是std::function和pthread的结合, 当然方便是肯定的, 这没话说. 我现在只
用这个了.
r****t
发帖数: 10904
17
来自主题: Programming版 - 求救
mingw does not support pthread. 到linux 下面玩吧。
there maybe third party pthread port to mingw, you can make the call whether
or not to invest time in using it.
S*A
发帖数: 7142
18
我写 std::thread 干吗。
直接调用 pthread 不就完了吗。
C++ 自己是不能不依赖 OS 来实现 thread 的。
所以最后还是要调用 pthread 之类的 OS layer。
我真心没看出你搞那么复杂的一大段代码就是展示
std::thread 强在那里。貌似把简单问题复杂话了。
d****i
发帖数: 4809
19
不会吧,除了标准的多线程pthread以外,不是有C的库libevent, libev, libuv这样的
event库吗?都是user space的lib,然后Node, Java的Future, Python的Twisted, PHP
的ReactPHP等都是基于这几个lib的吧。Go的channel的实现没有研究过,用的也是
pthread上面包了一层吗?还是libevent上面包了一层?
b***i
发帖数: 3043
20
来自主题: Programming版 - 请推荐C++开发环境
更新:
多谢大家的建议,我就下载VS2013反正公司掏钱,然后我已经有Eclipse了,不过是
Java的,我看看需不需要另外下载C++。我们用Team Foundation Server存代码。
另外,我要运行多线程串口和网络通信。这个可以在Windows下运行吗?pthread?用什
么库呢?
以前我问过boost,结果有人不建议。那么Windows下可以直接pthread吗?我需要这些
基本的代码不用改就可以在Linux下运行。
=-==================================-=
要求适合中型项目,所以需要IDE。
开始的时候,需要一个能在Windows下运行的IDE,同时,可以生成代码在Windows或者
Linux。在Windows下需要能够调试,在Linux不需要。能生成代码就行了,最终会在
Xilinx SDK上调试。
我用这个IDE就是写一些简单的类,比如定义一组数据这样的。然后运行测试一下代码
而已。
b***i
发帖数: 3043
21
来自主题: Programming版 - 请推荐C++开发环境
多谢大家的建议,我就下载VS2013反正公司掏钱,然后我已经有Eclipse了,不过是
Java的,我看看需不需要另外下载C++。我们用Team Foundation Server存代码。
另外,我要运行多线程串口和网络通信。这个可以在Windows下运行吗?pthread?用什
么库呢?
以前我问过boost,结果有人不建议。那么Windows下可以直接pthread吗?我需要这些
基本的代码不用改就可以在Linux下运行。
i**p
发帖数: 902
22
来自主题: Programming版 - Daemon thread
In java, the daemon thread will be abort once all user (non-daemon) threads
exit.
How about pthread in linux? I don't remember pthread has the same concept.
It calls detached, right?
Another deference is detached thread is not abort after all the joinable or
calling thread is done, so that the process is still running. Right?
How is standardized C++ thread defined?
Please commend
d****i
发帖数: 4809
23
来自主题: Programming版 - 这年头是不是只有做网站
PHP当然有这些,没听说过?PHP的底层实现和Python, Java, Node等等一样都是用的
pthread等OS的东东。
http://php.net/manual/en/class.thread.php
http://php.net/manual/en/intro.pthreads.php
h*******n
发帖数: 82
24
来自主题: Programming版 - pixi.js webgl加速的2d 矢量lib
1.已经相当牛逼了,诸如Qt,Bullet Physics Engine之类大的C++ library都编译成了
asm.js了,你可以去网上搜搜,多线程应该差点,C++也是到了11才有多线程支持的再
加上javascript本身不支持shared memory state。但是确定的是多线程在emscripten
里用HTML5 webworker模拟了。
low level的pthread支持还在试验阶段:https://kripken.github.io/emscripten-
site/docs/porting/pthreads.html#running-code-and-tests
C++11的支持要等emscripten的衍生WebAssembly来实现了。几大家族都在work on it.
memory model要follow C++11,我感觉意味着可能multi core programming 在浏览器
端会成为可能, lock-free那一堆算法有可能在浏览器里跑。https://github.com/
WebAssembly/design/blob/maste... 阅读全帖
w***g
发帖数: 5958
25
pthread是很傻x. 不过C++11以后C++线程已经满血复活了, 不会比java差.
我这里有一个简单源程序攻略 (以前贴过), 总结了
C++11里线程相关的主要特性.
程序里主要是中文注释, 浏览器看可能有乱码. 需要下下来用编辑器看.
http://www.wdong.org/thread-tutorial.cpp
可以运行, g++编译用
g++ -pthread -std=c++11 thread-tutorial.cpp
C++是用来写算法的, 不适合实现业务逻辑.
r*****n
发帖数: 4844
26
前言
你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么
经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业
项目都看不出有什么实际作用,不如从工作中的需求出发)
建议:
不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至
少10年通用。
回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样。
一定要动手,例子不管多么简单,建议至少自己手敲一遍看看是否理解了里头的细枝末
节。
一定要学会思考,思考为什么要这样,而不是那样。还要举一反三地思考。
注:你也许会很奇怪为什么下面的东西很偏Unix/Linux,这是因为我觉得Windows下的
编程可能会在未来很没有前途,原因如下:
现在的用户界面几乎被两个东西主宰了,1)Web,2)移动设备iOS或Android。Windows
的图形界面不吃香了。
越来越多的企业在用成本低性能高的Linux和各种开源技术来构架其系统,Windows的成
本太高了。
微软的东西变得太快了,很不持久,他们完全是在玩弄程序员。详情参见《Windows编
程革命史》
所以... 阅读全帖
k********6
发帖数: 6
27
单位介绍
广州中国科学院软件应用技术研究所(中国科学院软件研究所广州分部,简称
广州软件所),成立于2011年05月27日,是由广州市人民政府与中国科学院共建的具有
独立法人资格、行政上隶属于广州市人民政府的直属事业法人单位,是广州市政府创新
发展模式的试点单位之一。
广州软件所同时也是中科院软件所广州分部,充分依托中科院软件所强大的科
研能力,以市场为导向,结合广州地区的区位政策优势、人才资源优势及 市场优势,
与当地政、产、学、研广泛合作,深入开展智慧城市和云计算产品的研发、生产和销售
工作,促进广州地区软件产业的快速发展。
预期在2014年,广州软件所人员规模达到550人,通过国家、中科院和广东省的
各类人才计划,聘任10名以上学科、领域带头人,引进40名 以上科研骨干,形成科技
成果50项;申请国家工程中心或实验室,孵化2家以上软件企业,形成产业集群,年销
售收入超过4000万元,带动企业新增销售收入 超过4亿元。
岗位1:数据挖掘分析助理研究员/研究实习员
岗位职责:
1、研究、分析业务数据,给业务部门提供优化建议;
2、研究大数据... 阅读全帖
d******y
发帖数: 1039
28
来自主题: JobHunting版 - 攒人品。面试经历(2)
昨天拿到了第二个正式的offer,就是从上篇里提到的做video server 和video edi
ting sw的厂来的。
那次面试的travel还好,吸取了上次的教训,早到了半小时。面试官有三个人,一
个美籍老印,hr manager; 一个英语很差的俄国人,principal engineer; 一个有口
音的印度人。前面两个人的问题基本就是写程序,给我了一张纸,上面有一段代码
,要求把缺失的部分补全。内容大概是用pthread的mutex lock和unlock去防止rac
e condition;然后的是经典的reverse words,比如"She is sexy"变成"sexy is Sh
e"。我回答得的还好。之后问Unix的block/nonblock IO, select 的用途;最后问
了怎么debug code to avoid memory bugs,我说在win32下我一般用boundcheck, F
reeBSD下我一般用vargrind. 那位俄国人的口语不如我,表达不如我,口音很重,
所以整个过程我们基本都是在纸上写写画画。
最后一个老印经验丰富,却
m********0
发帖数: 2717
29
C++ - Pthread Primer - Multithread Programming 这本。还不错。
y*******g
发帖数: 6599
30
被问过pthread 和unix IPC 然后被bs了
H*M
发帖数: 1268
31
来自主题: JobHunting版 - 一个thread如何kill另外一个thread?
是怎么kill的?假如是pthread的话?
谢谢
s*********g
发帖数: 849
32
c++0x,等明年出来吧。看看pthread,boost差不多了吧,除非专门要求windows
Multithread
x***y
发帖数: 633
33
来自主题: JobHunting版 - 问道多线程的简单题目
For read operation, you can not use mutex...Like the read/write lock in
pthread, only write needs exclusive access.....
m****n
发帖数: 589
h****b
发帖数: 157
35
多谢。不过我不懂java, 有没c++的?pthreads不错,有没什么书讲得比较好。3x
M**u
发帖数: 10158
36
来自主题: JobHunting版 - multi thread复习请教
直接看看pthreads的文档
n******2
发帖数: 47
37
来自主题: JobHunting版 - multi thread复习请教
this ?
POSIX Threads Programming - from Lawrence Livermore National Laboratory
https://computing.llnl.gov/tutorials/pthreads/
r******d
发帖数: 308
38
来自主题: JobHunting版 - multi thread复习请教
我刚准备完multithread的内容, 写出来参考一下
需要弄懂得知识点(对于所有的语言):
Synchronization, deadlock, race condictions, mutual excusive(互相排斥),
semiphore(信号), signals, multiple processing vs multiple threading。
Communication between processes or computers, IPC, pipe。Mutex(互斥)
linux:
https://computing.llnl.gov/tutorials/pthreads/
unix:
http://beej.us/guide/bgipc/output/html/multipage/index.html
c#的我只是看了C# in a nutshell 里面multithread的部分, 觉得也够用了
到现在为止就面试了两个multithread, 都是c#的
大概问了这样几个问题
(1) 怎么样start 一个 thread
(2) 写一段代码实现multit... 阅读全帖
r******d
发帖数: 308
39
来自主题: JobHunting版 - multi thread复习请教
是的, JOIN 是你说的那样
在c#里面join是一种synchronization的method.
pthread里面似乎也是.....
d**e
发帖数: 6098
40
来自主题: JobHunting版 - multi thread复习请教
pthread里面的join也是这样。
不过可能是我表达不清。我的意思是说,如果问同步有哪些方法或方式,我觉得应该是
说哪些机制可以用来同步,而不是说这些机制里面的函数。
我看的那本书上主要提到的是semaphore/monitor/message passing,当然还有其它一
些,但说得不多。
r******d
发帖数: 308
41
来自主题: JobHunting版 - multi thread复习请教
http://www.cc.gatech.edu/classes/AY2000/cs6210_spring/pthreads_tutorial.htm
在这个链接里面把synchronization分成
mutex / semaphore / condition variable (monitor) / rwlocks
http://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.html#SYNCHRONIZATION
在这个链接里面把synchronization分成
mutex / joins / condition variable
所以可能本来就没有标准答案, 把知道的都写上去好了, 呵呵, 下次问到我就写
linux 的 synchronization包括
mutex / semaphore / condition variable (monitor) / joins / rwlocks
哈哈, 不过怀疑 monitor是不是java的一个概念? 因为我在pthread里面找不到, 还要
学习一下monitor
g*********s
发帖数: 1782
42
C++ and pthread.
主要想找些题目练手。
s********k
发帖数: 6180
43
好像有专门的liunx Pthread的书,搜搜
D*********y
发帖数: 876
44
来自主题: JobHunting版 - 小公司web server面经
昨天刚面了一个小公司,onsite
做web server的
面试题如下,希望对大家有帮助
每个面试官都先给张卷子,做题,一个面试官出一张卷子
比如int a = 1/2.0,输出啥
*c++ = *d++的结果
const的各种位置代表什么之类
然后考概念,能记得的有:
基本的data structure,insert/sort/delete的复杂度
hashtable和BST的区别
C++ constructor和desctructor是怎么实现的,new是否可被重载
new的东西放在哪里,new/delete和malloc/free的区别
delete和delete[]的区别
polymorphism里面,new derived用的constructor的顺序;delete derived的
destructor顺序
new和delete的顺序有什么关联(reverse order)
design pattern: singleton,factory, MVC
用过的C++编译器,WINDOWS下的和LINUX下的
multi-thread: semaphore, mutex, ... 阅读全帖
n*******0
发帖数: 2002
45
弱问一下:底层C大概是哪个方面啊?(比如C标准库函数的实现?对某些奇特语法的使
用?)多线程多任务这个俺只接触过pthread,但是不是很深入。(基本上都靠openmp
对付着)是不是就应该打酱油般的搞一下然后move on了。。。
g**u
发帖数: 583
46
来自主题: JobHunting版 - 攒RP, 发N的面经
面了某显卡公司,发面经
电话面试的时候首先集中问了macro和inline的区别,pros&cons,如何确保macro工作正常;如何检测link list有环,link list和array的区别,什么时候用link list,什么时候用array; 然后集中问了自己的project, 关于linux下面的
pthread的一些特点和用法,主要讲的是多线程如何同步,有那些方案和不同的同步方案的好坏等等。
On site的问题可以回忆起来的如下:
一上来就是个process sync的问题。 话了cpu, 2个processes, 一个device;然后在process的里面有很多task需要处理; 抽象出来的问题是说有2个process, 第一个process可以和cpu双向通信,第二个process只能获得cpu的消息,就是说只有cpu可以发消息到该 process; 现在这2个process都需要访问某硬件,2个process有不同的数据需要写道 device,现在有一个register的flag可用,设计sync的算法。
另一个问题是GDB如何实现break point... 阅读全帖
s******n
发帖数: 226
47
来自主题: JobHunting版 - 面了一个startup
面了一个startup公司, 感觉悲剧了
经验: startup 的确是想找马上就能干活的,比较实际,相关技术要求细节很深。
比如multi-threading, careercup和PIE上的远远不够,pthread什么的一定要懂,忽
略了,
linux下的multi-thread要弄清楚,最好有一本书
算法方面都是基本知识,唯一难一点的是图的遍历,因为以为图很少考到,就忽略了,
直接导致悲剧。
结论:技术的东西就是经验,没经验,别人一下就能看出来,startup的公司,要求底
子非常扎实。
现在开始纠结了,算法突击一下还成,可是技术是没办法的。 是花时间去肯定技术书
,还是继续复习算
法。
安慰自己一下
s******n
发帖数: 226
48
来自主题: JobHunting版 - 面了一个startup
最傻的是,我还写了一个lock class,人家说为啥不用pthread,而且这样不可能写出
work的好的类,人家都是用汇编的。
我一听,凉了。 要学的东西太多了.
y******n
发帖数: 47
49
来自主题: JobHunting版 - 面经+一点个人体会
spin lock就是busy waiting, 并不是底层才使用. pthread线程库就有spin lock.
Java最常用的synchronized keyword属于高层的同步primitive, 是用monitor+
condition variable封装实现的, 内部数据结构是看不到的. 底下看JVM具体怎么实现
了, 估计是用mutex, 这样最简单.

,
l*********y
发帖数: 142
50
来自主题: JobHunting版 - 复习C++ multithreading的书
借问有没有对面试针对性强一些的,看过几本这样的书,没实际经验的时候有些云里雾
里的。

C++不是很方便。Thinking in C++里面有一章讲multithreading用的是ZThread, 现在
好像没什么人用?有类似style的(在C++ class的framework里面讲,不是C style的)讲
pthread的C++的书吗?
首页 上页 1 2 3 4 5 6 7 8 下页 末页 (共8页)