问题描述:一圆桌前坐着5位哲学家,两个人中间有一只筷子,桌子中央有面条。哲学家思考问题,当饿了的时候拿起左右两只筷子吃饭,必须拿到两只筷子才能吃饭。上述问题会产生死锁的情况,当5个哲学家都拿起自己右手边的筷子,准备拿左手边的筷子时产生死锁现象。解决办法:1、添加一个服务生,只有当经过服务生同意之后才...
分类:
编程语言 时间:
2014-05-04 20:23:48
阅读次数:
371
多线程编程之读写锁
Pthread是 POSIX threads 的简称,是POSIX的线程标准。
pthread读写锁把对共享资源的访问者分为读者和写者,读者只对共享资源进行读访问,写者只对共享资源进行写操作。在互斥机制,读者和写者都需要独立独占互斥量以独占共享资源,在读写锁机制下,允许同时有多个读者读访问共享资源,只有写者才需要独占资源。相比互...
分类:
编程语言 时间:
2014-05-04 18:54:12
阅读次数:
416
定期为大家更新《Java并发变成实践》读书笔记,绝对的干货喔!....
分类:
编程语言 时间:
2014-05-04 18:30:23
阅读次数:
299
在高性能爬虫为什么使用定制DNS客户端一文中阐述了DNS解析是网络爬虫的瓶颈。目前主要有两种方法来提高DNS解析效率:1. 基于多线程的DNS 解析2.
基于NIO的DNS解析dnsjava中使用的解析方式就是基于多线程的DNS解析class ResolveThread extends Thread...
分类:
其他好文 时间:
2014-05-04 11:15:14
阅读次数:
300
实质上,很多后台服务程序并发控制的基本原理都可以归纳为生产者/消费者模式,而这是恰恰是在本科操作系统课堂上老师反复讲解,而我们却视而不见不以为然的。在博文《一种面向作业流(工作流)的轻量级可复用的异步流水开发框架的设计与实现》中将介绍一种生产者/消费者模式的具体应用。生产者消费者问题是研究多线程程序...
分类:
编程语言 时间:
2014-05-04 11:01:12
阅读次数:
418
1、序列化是干什么的?
简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保 存object
states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。 2、什么情况下需要序列化...
分类:
编程语言 时间:
2014-05-04 09:57:38
阅读次数:
413
“多个人干活比一个人干活要快,多线程并行执行也比单线程要快”这是我学习编程长期以来的想法。然而在实际的开发过程中,并不是所有情况下都是这样。先看看下面的程序(点击下载):
ThreadTester是所有Tester的基类。所有的Tester都干的是同样一件事情,把counter增加到10000000...
分类:
编程语言 时间:
2014-05-04 09:53:28
阅读次数:
624
多线程编程之条件变量
Pthread是 POSIX threads 的简称,是POSIX的线程标准。
互斥机制,包括互斥量【C/C++多线程编程之六】pthread互斥量,信号量【C/C++多线程编程之七】pthread信号量,互斥能很好的处理共享资源访问的协调问题,是多线程同步必不可少的机制。互斥机制也有其缺陷,当线程在等待共享资源满足某个条件,...
分类:
编程语言 时间:
2014-05-04 09:12:50
阅读次数:
348
在派生类中序列化一个基类
假如有一个基类如下:
class student_info
{
public:
student_info() {}
virtual ~student_info() {}
student_info(const std::string& sn, const std::string& snm, const std::string& sg)
: name_(sn),...
分类:
其他好文 时间:
2014-05-03 21:41:12
阅读次数:
356