由买买提看人间百态

topics

全部话题 - 话题: semaphore
首页 上页 1 2 3 4 5 6 7 8 9 (共9页)
y***d
发帖数: 2330
1
来自主题: Programming版 - multithread 的semaphore问题
what is the question of the ultima answer?

the
z****e
发帖数: 2024
2
来自主题: Programming版 - multithread 的semaphore问题
不好意思,题没贴全,补上了,就是按照那几个函数call的顺序call。
t****t
发帖数: 6806
3
because you have to communicate in order to synchronize?
g**e
发帖数: 6127
4
来自主题: Programming版 - 编程题又一道
好虫说说看CyclicBarrier这里怎么用的?没想明白。CyclicBarrier参数至少是2吧,
怎么保证两个线程交替打印?
这里用semaphore不是简单点
g*********s
发帖数: 1782
5
来自主题: Programming版 - question about the read/write locker
learning read/write locker and find the following on line:
http://doc.qt.nokia.com/qq/qq11-mutex.html
i just don't get it. how does it works? it seems to me lockWrite() just
directly set the semaphore to its max value. how are multiple writes
prevented?
g*********s
发帖数: 1782
6
来自主题: Programming版 - question about the read/write locker
can any da niu share ideas of implementing class semaphore and class
rwlock using pthread mutex only?
p*****y
发帖数: 1049
7
1,线程之间怎么通讯?什么是critical section/semaphore/mutax,区别?
2, process和thread的区别?
这些问题属于什么问题?应该在什么书里面论述?能推荐一本吗?谢谢!
d*****l
发帖数: 8441
8
来自主题: Programming版 - Windows Virtual Machine编程? (转载)
一直听着呢,而且我也发邮件问了微软的人了(B***********[email protected]),
他给我的回信中建议的solution跟我自己的土办法(用共享文件实现semaphore)是一
样的,所见略同。
Hi XX,
Unfortunately there is no simple way to do this.
The best option I can think of is to have your program in the virtual
machine create a file on a shared folder of the host OS when it
completes.
You could then have a batch file check for the presence of that file.
It would be tricky to do – but should work.
Cheers,
Ben
此外,我说ping不通只是给楼上的一个例子,说明他的solution不容易,并不是我要问问题。
想你说的要设置网络就更复杂了,没必... 阅读全帖
A**u
发帖数: 2458
9
来自主题: Programming版 - 请教pthread producer-consumer问题
照书编了一个,
结果总是不对,请大牛看看问题出在哪里呢
#include
#include
#include
pthread_mutex_t region_mutex = PTHREAD_MUTEX_INITIALIZER;
sem_t items;
int b; /* buffer size = 1; */
void add_buffer(int i){
b = i;
}
int get_buffer(){
return b ;
}
void *producer(void*)
{
int i = 0;
std::cout <<"I'm a producer" << std::endl;
while (1) {
pthread_mutex_lock(®ion_mutex);
add_buffer(i);
pthread_mutex_unlock(®ion_mutex);
sem_post(&ite... 阅读全帖
A**u
发帖数: 2458
10
来自主题: Programming版 - 请教pthread producer-consumer问题
我又测试了下面的例子
#include
#include
#include
#include
#include
using std::cout;
using std::endl;
sem_t sem;
void* fun(void*){
while( true ){
sem_wait(&sem);
cout << "Hello " << endl;
}
return 0;
}
int main(){
pthread_t ID;
int res = sem_init(&sem,1,0);
if (res == -1)
{
cout << "sem failed" << endl;
cout << errno << endl;
return 0;
}
pthread_create(&ID... 阅读全帖
t****t
发帖数: 6806
11
来自主题: Programming版 - 请教pthread producer-consumer问题
你什么系统, 不带semaphore的? 20年前的DOS吗?
A**u
发帖数: 2458
12
来自主题: Programming版 - 请教pthread producer-consumer问题
mac下没有lrt
我用rt代替,
还是一样, semaphore初始化出错
x**n
发帖数: 1055
13
的确是传的指针,但是没有用semaphore, boost thread好像没有这个东西吧
是这样的,假设有msvc.dll和mingw.dll
又用VC8.0写了个主程序
typedef struct
{
boost::barrier* brr;
boost::mutex* mtx;
boost::condition* cv;
} BT_PARAM;
main()
{
...
BT_PARAM* bt_param;
bt_param=new BT_PARAM;
接下来初始化bt_param;
接下来loadlibrary,打开msvc.dll和mingw.dll
产生两个线程
boost::thread* t_msvc=new boost::thread(p_msvc,bt_param);
boost::thread* t_mingw=new boost::thread(p_mingw,bt_param);
...
}
然后在msvc.dll.cpp中加上这么一段:
...
bt_param->brr->wait();
...
同样在在mingw.dll.cpp中加上这么一段:
..... 阅读全帖
p***o
发帖数: 1252
14
来自主题: Programming版 - 程序员为什么要用mac (转载)
算了吧,想用个semaphore都要折腾 ...
http://stackoverflow.com/questions/1413785/sem-init-on-os-x/145
g***l
发帖数: 2753
15
新的c++11加了thread,是不是要再把boost里面的mutex, cv,semaphore什么的都借过来
?然后再添个atomic operation什么的就齐活了。
c*****a
发帖数: 808
16
来自主题: Programming版 - 两个process重复了,哪里错了
i've done similar classic stuff with semaphore mutex or pipe. i am trying
to figure out how to do this with user defined signal handler.
h**********c
发帖数: 4120
17
来自主题: Programming版 - 怎样准确测量函数执行的时间?
Let's say multi-thread. In java, LinkedConcurrentQueue can be very fast.
While you use C++. Otherwise, you can spend sometime study the source code
of log4j. It is regretful log4j is for java.
So I mentor you an architecture. For each thread you declare a local storage
, say a c++ hashmap , may not be exactly accurate. Most c++
thread can be joined. Before you join them, you can check a boolean
variable (or use semaphores), advanced Unix programming has similar example.
You don'... 阅读全帖
p***o
发帖数: 1252
18
来自主题: Programming版 - pthread_create inside a constructor
Put a memory barrier before pthread_create, or if you don't know
how to do so, you can wait on a semaphore in your thread function
while post it at the end of the constructor.
b***i
发帖数: 3043
19
来自主题: Programming版 - 来看一个实际问题吧
最新进展,这个不是CF本身问题,是嵌入式软件问题。
发现的问题:文件内容被覆盖到文件目录去,该文件的目录项(以及附近同一个扇区的
所有目录项)消失,从而,api不能继续写入文件。
原来的嵌入式软件执行一个无限循环,里面做所有的事情。后来用了第三方的TCP/IP的
软件,估计使用了一些函数指针把CF的api记录了。这样我觉得可能ftp的时候,第三方
的软件直接呼叫了CF API,这些api都是不可重入的,里面有全局变量,比如纪录当前
正在写哪个缓冲区。这个绝对可以造成同一个内容被写入不同区域。我看这个探测CF里
面重复区域的任务不用做了,下面的任务就是确定这个原因,然后需要手写semaphore
级别的东西,因为原来没有使用操作系统,无法实现这些功能。
b***i
发帖数: 3043
20
来自主题: Programming版 - 嵌入式怎么才能入门
近代技术可以用uC/OS,然后用例子里的web server就可以了。仍然要直接控制外设,
但是要semaphore/mutex什么的保护。这样比裸写好多了。
我最近搞到一个系统,可以发出噪音,主频100MHz,有网络口。非常满意。只是代码只
能写32k以内。
c******o
发帖数: 1277
21
来自主题: Programming版 - 也谈OOP跟FP之争
Just like normal people can much easier understand
how multiple parallel immutable transformation can compose with each other
than a completely mess of lock/semaphore/mutex.

like,
h**o
发帖数: 548
22
来自主题: Programming版 - 问一个读写锁的问题
wiki 里 writers-preference 的实现是这样的: 请问mutex_3是干嘛用的?
http://en.wikipedia.org/wiki/Readers%E2%80%93writers_problem
int readcount, writecount; (initial value = 0)
semaphore mutex_1, mutex_2, mutex_3, w, r ; (initial value = 1)
READER
P(mutex_3);
P(r);
P(mutex_1);
readcount := readcount + 1;
if readcount = 1 then P(w);
V(mutex_1);
V(r);
V(mutex_3);
reading is performed
P(mutex_1);
readcount := readcount - 1;
if readcount = 0 then V(w);
V(mutex_1);... 阅读全帖
t**********1
发帖数: 550
23
来自主题: Programming版 - 点评一下两个方案
第一,从来都不是一台单机打天下。
第二,Interlocked不是semaphore。真的不是。
b*******s
发帖数: 5216
24
来自主题: Programming版 - 点评一下两个方案
semaphore? LOL
c****3
发帖数: 10787
25
很多C++的程序员,号称写多线程网络程序的,很多都不会写atoi,分不清mutex和
semaphore的区别,不会用BSD socket,不会分析core dump文件。
他们都是在framework上工作的,framework有人写好,所以一到深入的找问题,就抓瞎了
T********i
发帖数: 2416
26
没用,这个是linux的问题。你看看sem_timedwait就知道了。
正确的做法是重做一个semaphore。
e********3
发帖数: 18578
27
类似,Java只有single count semaphore,就是synchronized。

mutex
g*********e
发帖数: 14401
28
建议你找本书好好看看啥叫mutex semaphore
s********k
发帖数: 6180
29
最重要有一个区别,mutex只能锁住的thread释放,semaphore没有这个限制,thread
1signal,thread 2 wait完全可以
H****S
发帖数: 1359
30
Semaphore是non-reentrant的,参考以下代码:
def foo() {
println("smile")
super.foo()
}
一个binary semaphoreh会出现死锁。
c******n
发帖数: 4965
31
来自主题: Programming版 - Re: java producer consumer problem (转载)
【 以下文字转载自 JobHunting 讨论区 】
发信人: creation (努力自由泳50m/45sec !), 信区: JobHunting
标 题: Re: java producer consumer problem
发信站: BBS 未名空间站 (Tue May 12 03:10:47 2015, 美东)
ok,..... 自己写了一下,那个路子的不是很有把握, 另外又照wiki 上的semaphore
version 写了,加基本version, 共三种
http://pastebin.com/uSYXpGKJ
欢迎大家讨论,找毛病
g*********e
发帖数: 14401
32
youneed to use ipc technics like shared memory and socket
Synchronization can be done with semaphore
b***i
发帖数: 3043
33
来自主题: Programming版 - TCP转发的问题
多线程也行啊,用semaphore控制
从LabView那里读和返回
run(){
do{
request = s_Transport.readRequest();// 截获原包
relayed_request= modify(request); // 修改
sema.release() // 让另外一个线程行动
semb.acquire(); //要么接受到了,要末超时了
response = modify(relayed_response); // 修改
s_Transport.writeMessage(response) // 返回给LabView
} while(true);
}
向设备发送和接收
run()){
do{
sema.acquire();
c_Transport.writeMessage(relayed_request); // 转发
try{
relayed_response = c_Transport.readResponse(); // 读设备... 阅读全帖
h**********c
发帖数: 4120
34
来自主题: Programming版 - 用volatile退出线程对不对?(C++)
不是不对,是对同步得理解,同步没有semaphore或其他synchronization 机制会
starvation
说到这里,你对slicing得理解是怎样的,在什么样的情况下,你认为你应该研究一下
slicing?
M********t
发帖数: 5032
35
来自主题: Programming版 - 用volatile退出线程对不对?(C++)
你这个关于volatile的说法是对的,volatile is just a hint to compiler。
另外,busy wait一般不是个好idea。可以考虑其他primitive。例如semaphore唤醒干
活,干完检查flag。
w********m
发帖数: 1137
36
不知道你怎么实现的,不好说。
每个client对应的是server上的一个channel。
如果reset太快,把channel改成buffered的channel可能好点。
有时候是资源耗尽了,disk IO,network IO,memory,etc
这时候要加semaphore控制并发。
你可以把The Go Programming Language 里面的chatroom编译一遍,看看能有多少并发。
d*******n
发帖数: 109
37
除了mutex 还可以用 semaphore
d*******n
发帖数: 109
38
还可以用semaphore multi reader writers 时挺好用
b***i
发帖数: 3043
39
来自主题: Programming版 - C++ InitializeCriticalSection问题
对,CriticalSection里面使用一些古老的Win32API来调用外部的exe文件。
当然,我认为可以使用mutex/semaphore实现。不过我觉得我们的方案有问题,不是真
正的一次初始化。有可能多次,因为多个核心的CPU看到这个static变量都是false
而且,以前也讨论过,即使加上volatile也不行
z****g
发帖数: 5
40
Consider this case,
....;
....;
p(semaphore);//Entering waiting state
How can I make sure the last line is executed immediately after preceding
lines?
Sometimes, OS will preempt the program just before the p(..) is executed and
resume the program later. This may cause bad race condition.
I appreciate any clues for solving this problem. Thanks a lot.
l*****g
发帖数: 547
41
来自主题: Unix版 - Semaphores in Linux (转载)
I tried examples from richard stevens' book, no problem.

uses
m****4
发帖数: 11
42
来自主题: EE版 - Marvell的电话面试
偶然机会,这周五和Marvell电面小聊一番。。
是做存贮设备的固件工程师,小激动,小弟是小硕士在读。。蛮感兴趣linux/driver一
类的
期间共断线4次+,非常不好意思 (⊙_⊙)
问了几个简单的OS(interrupt,memory leakage handler, lock,semaphore,mutex...)
和算法(balanced BST, Hashtable...)
过了一个小时,收到邮件叫我去onsite了。。小意外
分享外加求教下onsite的经验
谢谢
S******2
发帖数: 7
43
来自主题: EE版 - embedded software engineer面经
刚面试完embedded software engineer,贡献一个面经,顺便求祝福,local
small company, 不过是my Dream Company
1. Why declare/define volatile variables
2. reverse a linked list.
3. socket/Tcp/ip APIs: difference between sendto and send functions.
4. implement the atoi function.
5. bootloader and bootstraper, differences?
6. the first user process spawned in an embedded linux? and its functions?
7. Mutex and Semaphore, differences? how to use them to avoid race
conditions?
本地公司,面了大约2个小时,大概就些,还有一些linked list, BSTcoding什么
的... 阅读全帖

发帖数: 1
44
LZ今年五月份毕业,想找一份embedded/firmware工作,现在人在湾区,倾向于湾区和
San Diego的职位,干过两端实习,比较擅长Automotive (CAN, CANOpen, J1939)和 蓝
牙4.0,会uc/COS III RTOS和一点linux kernel/device driver。实在想求一下帮助
,简历贴上来, 请教些如何修改简历,或者内推, 多谢版内各位了!!
Programming Languages and Framework
•Labview, C, C++, C#, Java, Python, Shell scripting, Matlab, ARM
assembly
Knowledge and Skills
•Protocol: SPI, UART, I2C,TCP/IP, CAN, CANOpen, J1939 .
•Processor/Platform: Microchip PIC, ARM(Cortex-M), AVR, Arduino,
Rasberry Pi.
•OS: Lin... 阅读全帖
h**********c
发帖数: 4120
45
尽管没太理解您的目的,但没看到monitor,semaphore 之类的关键字,
所以最好从一个现成的例题入手,每次只做很小改动较好,
另外您用的是什么语言?
b****h
发帖数: 2105
46
来自主题: Quant版 - MS 'Strategist' 电话面试
我去,不用lock,synchronized,还有啥?semaphore?
f*******d
发帖数: 339
47
来自主题: Science版 - 来点遗传知识启蒙
I don't know much biology, but I think it would be very
surprising if the development is mainly determined by
such randomness as the direction of impending sperm.
The idea of marks (in computer science lingo, that would be
called a lock or semaphore) on gene sounds good, is this confirmed or
just a conjecture? How do they mark the gene?
m*********k
发帖数: 10521
48
来自主题: WBCenter版 - Gerdo 申请代发包子
"[Seattle]Gerdo Apr 24. ● 【BSSD】发88个"
成功奖励 10 伪币的用户: wai, emeraldlake, xixixihahaha, graceWA, guiyang,
Ispy, Vestforever1, sonofagun, home2013, turningpoint, dmqpw, avayagrape,
unkown11, Roethlisberg, watercube, thua, gWTW, Skagway, fiu, renaissance,
sky, homeforyou, diameter, qianqian, monkeyface, sfz, ultracalm, alan269,
bluesky42, majiachen, ChinaApple, ltp000, JQLuLu, MindSpeed, Sanyeca,
uncommonsue, mttbbs, Mmj, lovebean0316, monthly, waterww, sanlylnas, misty,
zucca, cocoon8892, yuw... 阅读全帖
首页 上页 1 2 3 4 5 6 7 8 9 (共9页)