程序如果特别复杂,特别是做Server的程序,不可避免的需要利用多线程来提高运行效率,就不可避免的会遇到多线程开发一些常见的问题:
- 为了能合理的使用共享资源,必须利用锁机制;
- 滥用了锁机制,就会增加deadlock的风险,且不容易发现。
写多线程程序,特别需要小心翼翼,首先应当尽量减少共享资源。锁不可避免的时候,尽量减少在锁内部的工作量,临界区越少越好。最好避免锁内代码再去获取其他锁!如果你还是不可避免的这样做了,需要确保这样做的正确性。随意加锁来保持线程安全事实上是一种很危险的做法。
Keywords: Geek, Java, map reduce, dfs, C/C++, mac, Semantic Web, Hadoop, Money Maker, Object C
程序如果特别复杂,特别是做Server的程序,不可避免的需要利用多线程来提高运行效率,就不可避免的会遇到多线程开发一些常见的问题:
写多线程程序,特别需要小心翼翼,首先应当尽量减少共享资源。锁不可避免的时候,尽量减少在锁内部的工作量,临界区越少越好。最好避免锁内代码再去获取其他锁!如果你还是不可避免的这样做了,需要确保这样做的正确性。随意加锁来保持线程安全事实上是一种很危险的做法。
You can follow any responses to this entry through the RSS 2.0 feed.
You can leave a response, or create a trackback from your own site.
There are no comments yet, be the first to say something