由买买提看人间百态

topics

全部话题 - 话题: pthreads
首页 上页 1 2 3 4 5 6 7 8 下页 末页 (共8页)
l*********y
发帖数: 142
1
看了wiki上的介绍,还算理解。
请问是下面这样吗?谢谢
class Singleton {
Singleton* GetInstance() {
if (! instance) {
pthread_mutex_lock();
if (! instance) {
instance = new Singleton();
}
pthread_mutex_unlock();
}
}
~Singleton() {
pthread_mutex_unlock();
}
private:
Singleton(){};
static Singleton* instance;
};
Singleton* Singleton::instance = NULL;
但是如果Singleton destructor被正常调用,pthread mutex这时是没有lock的
可以unlock吗... 阅读全帖
f*******t
发帖数: 7549
2
来自主题: JobHunting版 - thread-safe 的 queue
pthread mutex
不难写啊
y*******g
发帖数: 6599
3
多读多写,
找找面试题看看? 没面过花街,不知道他们喜欢什么,pthread吗
A*******e
发帖数: 2419
4
来自主题: JobHunting版 - Eladian面试经过
猎头投的简历。
先是144分钟48题的C++网上考试,然后HR电话,有19个简单技术问题,涉及C++,算法
,数据结构,网络协议,简单统计概念,都顺利过关。
然后工程师电面,依次问了简历,以前的项目,C++,算法,数据结构,网络协议,多
线程,bash。前面没问题,但后面3个都是考知识点,好几个不会,直接答“I don't
know”对方就没兴趣了。45分钟的面试30分钟提前结束,也没让提问。
C++和算法问的都很简单,反而关注bash,pthread api细节,确实不适合。
A*******e
发帖数: 2419
5
来自主题: JobHunting版 - Eladian面试经过
多线程我也做过不少。但我们是基于pthread之上定义了一层C++接口。
至于bash,有什么用?我平时也写一点简单的脚本,都是边搜边写,也没什么问题。如
果是全职写bash,我没兴趣。
A**u
发帖数: 2458
6
来自主题: JobHunting版 - Eladian面试经过
他们怎么考bash?
sed gawk 语法?
难道他们的多线程不是pthread的?
A*******e
发帖数: 2419
7
来自主题: JobHunting版 - Eladian面试经过
给功能,写脚本,念给他听。
他要听pthread api的具体signature。这个我也是需要时现查。
r****t
发帖数: 10904
8
来自主题: JobHunting版 - 请教多线程的入门书
O'relly 有本 pthread,就是老了点。
f****4
发帖数: 1359
9
来自主题: JobHunting版 - 请教多线程的入门书
man pthread
c++ concurrency in action(还没出呢)
f*******t
发帖数: 7549
10
来自主题: JobHunting版 - MITBBS 面试题第一题
这题大概是考你知道几种方法。
只要有win系统的thread handle,或者*nix系统的pthread id,就可以通过系统调用结
束指定线程。
message passing也是一种标准做法。
global variable虽然work,但应该不太好。
z**********3
发帖数: 11979
11
来自主题: JobHunting版 - MITBBS 面试题第一题
可以pthread——kill(pthread_t tid, int signal)
win没有signal机制 可以通过asynchronous procedure call
还可以扯扯直接杀和deferred杀的优劣
S**I
发帖数: 15689
12
来自主题: JobHunting版 - [合集] 面经+一点个人体会
☆─────────────────────────────────────☆
yuhanlin (Yuhan) 于 (Mon Aug 29 00:18:17 2011, 美东) 提到:
周五面完最后一个onsite, 累的惨兮兮的, 好容易爬回家. 不管结果如何, 这段时间找
工作算是告一段落了.
下面把这段时间面试中被问到的题目整理一下, 供大家参考. 我也就不说具体是那些公
司了, 都是很典型的面试题, 到哪里都有可能会被问到.
* implement memcpy? How to improve? how to determine if a system is
32bit or 64bit?
* how is static keyword used in Java?
* a list of intervals, no overlapping and sorted, write a function to
insert an interval into the list and still keep the list sorted and no
overlapping.... 阅读全帖
b*****s
发帖数: 24
13
来自主题: JobHunting版 - nvidia面筋
今天拿到offer了...感谢大家的祝福,在本版学了很多,感谢无私帮助别人的同学。祝
找工作的同学都能找到自己喜欢的工作,工作以后也别忘了提携自己的同胞。 :-)。
面的是嵌入式软件工程师的职位。面试过程,面了6个人,大概5个小时,基本都是面试
简历上的问题,c/c++编程题,没有特别难的。很多题在careercup和glassdoor上都有。
特别是电面时候的题目,事后才发现,都在上面。可是准备的时候,没有时间,好几题
只能临时搞定。
1. 求一个int中bit为1的个数(两个人问过);
三中经典的办法: 查表、bit mask、bit shift,并且讨论他们的速度
2. 编写一个函数 void LinkedListInsert(Node* head, int i, int value);
i<0时,插在head之前;
i>0时,如果大于链表长度,插在最后;如果小于,插在相应位置。
3. 一个数组,长度为n,知道最多只有一个peak, 有唯一的最大值,编写一个函数
寻找最大值。int FindPeak(double* array, int arraySize);
... 阅读全帖
h****e
发帖数: 928
14
来自主题: JobHunting版 - c++ 实现 LRU cache。
可以用Java吗?至少在Java语言里就有很多concurrency handling
的native support,而且有的是相当high level的。C++的话要用到
pthread之类的吧。
h**6
发帖数: 4160
15
来自主题: JobHunting版 - Multithread
同意这句。最近在学pthread,真难啊。
i******e
发帖数: 273
16
来自主题: JobHunting版 - 请推荐一本windows 多线程编程的书
WaitForMultipleObjects 函数难道不是Windows中多线程同步的API吗?虽然和Pthread
不同,但是也应该遵循Posix标准吧?
g*****e
发帖数: 64
17
面试到底用什么语言通用的概率大?之前c++和java差不多(不)熟,复习以来一直都用
java做题。但是要面那几个大公司,发现大家好像都倾向c++,MS另说。现在正在痛苦
的转成c++,毕竟看那些container的具体methods还是要花好多时间的。还有经常有面
经问thread safe方面的,难道我要看pthread? 到底值不值得花时间研究c++?本身不
favor哪种语言,c++基本语法熟点,java methods更好用。
h****e
发帖数: 928
18
不要转,但是最好都准备。C++ STL用起来没有这么难吧。
至于pthread之类的,我觉得问到具体的lirary可能性不大,
但是OS课程中学到的mutex, conditional variables之类如何
实现还是要复习吧,你要是学通Java concurrency面试的时候
这方面的问题应该可以回答得出来。
j*****y
发帖数: 1071
19
来自主题: JobHunting版 - pthread 编程还是要看看阿
感觉是面试里面很容易出的一个题目。
p*****2
发帖数: 21240
20
来自主题: JobHunting版 - pthread 编程还是要看看阿

有什么书推荐吗?我也打算看看。
j*****y
发帖数: 1071
21
来自主题: JobHunting版 - pthread 编程还是要看看阿
我也只能 wiki了 :)
B*******1
发帖数: 2454
22
来自主题: JobHunting版 - pthread 编程还是要看看阿
你们干活都不用吗?

★ 发自iPhone App: ChineseWeb 7.7
j*****y
发帖数: 1071
23
来自主题: JobHunting版 - pthread 编程还是要看看阿
别人用,我没有 :)
B*******1
发帖数: 2454
24
来自主题: JobHunting版 - pthread 编程还是要看看阿
那直接看人家的checkin就好了,或者去叫那哥们解释给你听。

★ 发自iPhone App: ChineseWeb 7.7
o***d
发帖数: 313
25
来自主题: JobHunting版 - pthread 编程还是要看看阿
G家遇到了?呵呵
o***d
发帖数: 313
26
来自主题: JobHunting版 - pthread 编程还是要看看阿
APUE is not enough?
j*****y
发帖数: 1071
27
来自主题: JobHunting版 - pthread 编程还是要看看阿
G 家 reschedule 了,下个礼拜去 他们那 fight
p*****2
发帖数: 21240
o***d
发帖数: 313
29
来自主题: JobHunting版 - pthread 编程还是要看看阿
bless
o***d
发帖数: 313
30
来自主题: JobHunting版 - pthread 编程还是要看看阿
恩,我用的这本,经典书,就是不知道你们用够不够深
j*****y
发帖数: 1071
31
来自主题: JobHunting版 - pthread 编程还是要看看阿
要搞懂这些 api 吧
pthread_mutex_init
pthread_mutex_create
pthread_mutex_wait
pthread_mutex_lock
pthread_mutex_unlock
pthread_mutex_signal
pthread_mutex_condition
还有 semaphore的
j*****y
发帖数: 1071
32
来自主题: JobHunting版 - pthread 编程还是要看看阿
thanks.
g*********e
发帖数: 14401
33
来自主题: JobHunting版 - pthread 编程还是要看看阿

搞懂是什么意思?大致会用?还是要懂内部实现?
p*****2
发帖数: 21240
34
来自主题: JobHunting版 - pthread 编程还是要看看阿

好像有最新版。你看的是第二版还是第三版,这两个一回事吧?一会儿让公司买一本。
http://www.amazon.com/Programming-Environment-Addison-Wesley-Pr
o***d
发帖数: 313
35
来自主题: JobHunting版 - pthread 编程还是要看看阿
我是第二版,电子版的....
j*****y
发帖数: 1071
36
来自主题: JobHunting版 - pthread 编程还是要看看阿
能用就不错了,我都不知道 condition, wait, signal 这些是干吗用的 :(
p*****2
发帖数: 21240
37
来自主题: JobHunting版 - pthread 编程还是要看看阿

第三版好像只能preorder, 看来只能看电子版的了。
l*******b
发帖数: 2586
38
来自主题: JobHunting版 - pthread 编程还是要看看阿
书拿在手里5年了,没看过,惭愧呀。。。
l*****a
发帖数: 14598
39
来自主题: JobHunting版 - pthread 编程还是要看看阿
10几年前就看过
不知道大牛当年怎么happy
h**6
发帖数: 4160
40
来自主题: JobHunting版 - pthread 编程还是要看看阿
现在std里面都加进thread mutex condition,再不学习就落伍了。
m**********0
发帖数: 356
41
来自主题: JobHunting版 - pthread 编程还是要看看阿
你是说应用还是实现?
一般不是做kernel的不会问你实现的问题吧?
如果应用的话除了基本概念以外(但是基本概念编程都需要用啊?)还有什么可以问的
很深的吗?谢谢!
k***t
发帖数: 276
42
要用两个conditional variable吗?谢了。
d**********x
发帖数: 4083
43
来自主题: JobHunting版 - LinkedIn 面经
H2O那个我写了个C的。可以改吧改吧加上对各种原子的计数。
编译的时候别忘了 -lpthread !
#include
#include
#include
#include
#include
#include
sem_t availH;
sem_t availO;
sem_t usedH;
sem_t usedO;
void* H(void*) {
sem_post(&availH);
sem_wait(&usedH);
fprintf(stderr, "H consumed.\n");
pthread_detach(pthread_self());
return NULL;
}
void* O(void*) {
sem_post(&availO);
sem_wait(&usedO);
fprintf(stderr, "O consumed.\n");
pthread_detach(... 阅读全帖
d**********x
发帖数: 4083
44
来自主题: JobHunting版 - LinkedIn 面经
H2O那个我写了个C的。可以改吧改吧加上对各种原子的计数。
编译的时候别忘了 -lpthread !
#include
#include
#include
#include
#include
#include
sem_t availH;
sem_t availO;
sem_t usedH;
sem_t usedO;
void* H(void*) {
sem_post(&availH);
sem_wait(&usedH);
fprintf(stderr, "H consumed.\n");
pthread_detach(pthread_self());
return NULL;
}
void* O(void*) {
sem_post(&availO);
sem_wait(&usedO);
fprintf(stderr, "O consumed.\n");
pthread_detach(... 阅读全帖
f*****e
发帖数: 2992
45
来自主题: JobHunting版 - 想学多线程编程
大二system programming中的pthreads学好了就差不多了。
K********y
发帖数: 47
46
来自主题: JobHunting版 - 请教一下那道H2O的题
(原贴见http://www.mitbbs.com/article/JobHunting/32331973_3.html
3: 实现两个函数: H() and O(), 这两个函数会被多线程调用。当一个线程调用H或O时
,如果当前已经有至少两个线程call H和一个线程call O。那么让两个call H和一个
call O的线程返回(产生一个水分子),其他的都block。
多线程我不熟,pthread里没有现成的semaphore,所以习惯用condition variable。闭
门造车写了下面这样一个解法,显然不如版上各位给的代码简洁。但是这里有个bug我
想不明白,请教一下各位:
我的基本想法是,如果三个原子里最后一个就位的是H,则signal O,O再signal另一个
H;如果最后一个是O,则signal一个H,这个H再signal另一个H。为了区分H函数的两种
情况,我起初用了个bool signalNextH,但是会出现死锁。改成int来计数就过了(下
面的代码)。从这个症状来看,似乎是有两个O原子同时发出了signal,所以
signalNextH要用counter... 阅读全帖
d**********x
发帖数: 4083
47
来自主题: JobHunting版 - 请教一下那道H2O的题
谁说pthread里面没有现成的semaphore...
请自行google sem_t。。。
K********y
发帖数: 47
48
来自主题: JobHunting版 - 请教一下那道H2O的题
(原贴见http://www.mitbbs.com/article/JobHunting/32331973_3.html
3: 实现两个函数: H() and O(), 这两个函数会被多线程调用。当一个线程调用H或O时
,如果当前已经有至少两个线程call H和一个线程call O。那么让两个call H和一个
call O的线程返回(产生一个水分子),其他的都block。
多线程我不熟,pthread里没有现成的semaphore,所以习惯用condition variable。闭
门造车写了下面这样一个解法,显然不如版上各位给的代码简洁。但是这里有个bug我
想不明白,请教一下各位:
我的基本想法是,如果三个原子里最后一个就位的是H,则signal O,O再signal另一个
H;如果最后一个是O,则signal一个H,这个H再signal另一个H。为了区分H函数的两种
情况,我起初用了个bool signalNextH,但是会出现死锁。改成int来计数就过了(下
面的代码)。从这个症状来看,似乎是有两个O原子同时发出了signal,所以
signalNextH要用counter... 阅读全帖
d**********x
发帖数: 4083
49
来自主题: JobHunting版 - 请教一下那道H2O的题
谁说pthread里面没有现成的semaphore...
请自行google sem_t。。。
b*****u
发帖数: 648
50
电面反复被这种多线程的题虐,一怒之下今天看了一天pthread
在网上找到一个读写锁的代码,有一个问题不太清楚,代码如下
http://www.broncho.cn/forum/viewtopic.php?t=1489
基本思想:
两个计数器 r_cnt, w_cnt
一个 mutex_cnt
一个 condition
读锁:
{
锁mutex
r_cnt++;
while(w_cnt>0)等待condition
解锁mutex
}
解除读锁
{
锁mutex
r_cnt--;
if(r_cnt==0) signal condition
解锁mutex
}
写锁
{
锁mutex
w_cnt++;
while(r_cnt+w_cnt>=2) <=====××××这一步有问题××××
等待conditon
解锁mutex
}
解除写锁
{
锁mutex
w_cnt--;
广播condition
解除写锁
解锁mutex
}
原文说适用于读多写少的情况。但是想象一下如果目前有一个线... 阅读全帖
首页 上页 1 2 3 4 5 6 7 8 下页 末页 (共8页)