Tags » C/C++

Dining philosophers problem

哲学家就餐问题。这是由计算机科学家Dijkstra提出的经典死锁场景。原版的故事里有五个哲学家(不过我们写的程序可以有N个哲学家),这些哲学家们只做两件事--思考和吃饭,他们思考的时候不需要任何共享资源,但是吃饭的时候就必须使用餐具,而餐桌上的餐具是有限的,原版的故事里,餐具是叉子,吃饭的时候要用两把叉子把面条从碗里捞出来。很显然把叉子换成筷子会更合理,所以:一个哲学家需要两根筷子才能吃饭。现在引入问题的关键:这些哲学家很穷,只买得起五根筷子。他们坐成一圈,两个人的中间放一根筷子。哲学家吃饭的时候必须同时得到左手边和右手边的筷子。如果他身边的任何一位正在使用筷子,那他只有等着。 259 more words

C/C++

Benih PJ.CC.CM.CP.MB.

Untuk info pemesanan, pembelian,& stok, silahkan menghubungi CV.GEMAH RIPAH LOH JENAWE Tlp. (0331)757071 Hp.085330555559 – 085746444324 Kode Post 68173 Jember

VISI.

  • Melayani Dan Memfasilitasi Ketersediaan Kebutuhan masyarakat Dibidang Pertanian Dan Perkebuan…
  • 51 more words
PJ

ON THIS DAY

Today is a day that should be full of nothing but joy. Looking back at baby pictures. Remembering balloons and cake.

For the past fifteen years, this day has never been that for me. 248 more words

CC

mutex实现semaphore

Mutex变量是非0即1的,可看作一种资源的可用数量,初始化时Mutex是1,表示有一个可用资源,加锁时获得该资源,将Mutex减到0,表示不再有可用资源,解锁时释放该资源,将Mutex重新加到1,表示又有了一个可用资源。信号量(Semaphore)和Mutex类似,表示可用资源的数量,和Mutex不同的是这个数量可以大于1。 540 more words

C/C++

Challenge B - Reference eBook

The Challenge B Reference Book will contain all of the vocabulary covered throughout the school year. In total, there are 22 pages contained in this eBook.  417 more words

生产者-消费者模型mutex实现

对于多线程的程序,访问冲突的问题是很普遍的,解决的办法是引入互斥锁(Mutex,Mutual Exclusive Lock),获得锁的线程可以完成“读-修改-写”的操作,然后释放锁给其它线程,没有获得锁的线程只能等待而不能访问共享数据,这样“读-修改-写”三步操作组成一个原子操作,要么都执行,要么都不执行,不会执行到中间被打断,也不会在其它处理器上并行做这个操作。Mutex用pthread_mutex_t类型的变量表示,可以这样初始化和销毁: 470 more words

Linux

回调函数的三个问题

C语言里面最犀利的武器就是指针,其中一种比较特殊的指针叫做函数指针,关于函数指针有一种很广泛的应用叫做回调函数,这篇文章打算回答下面三个问题:

  • 什么是回调函数?
  • 回调函数怎么实现?
  • 回调函数的应用场景?
  • 279 more words
Linux