confide

导航

2012年2月21日 #

unix编程——通信总结

摘要: 信号量、互斥锁和条件变量之间的差异1、互斥锁必须总是由给它上锁的线程解锁,信号量的挂出(V操作)却不必由执行过它的等待(P操作)的同一线程执行。2、互斥锁要么被锁住,要么被解开。3、信号量有一个与之关联的状态(计数值),那么信号量的挂出操作总是被记住。然而当向一个条件变量发送信号时,如果没有线程等待该条件,那么信号将会丢失。Posix提供互斥锁和条件变量,同时又提供信号量的原因是:通常互斥锁和条件变量应用于线程间同步,信号量应用于进程间同步,但是他们也都可以应用于进程和线程同步。 阅读全文

posted @ 2012-02-21 16:43 confide 阅读(202) 评论(0) 推荐(0)

经典面试题——找出超过一半的数

摘要: View Code #include <iostream>using namespace std;int A[] = {1,1,5,1,1,2,2,3,1,2,1};int main(){ int i,j; int n = 11; int cal = -1; int t = 0; for(i=0;i<n;i++){ if( i == 0){ cal = A[i]; t = 1; }else{ if(cal != A[i]) t++; ... 阅读全文

posted @ 2012-02-21 16:40 confide 阅读(150) 评论(0) 推荐(0)