第7章 多线程编程精要.ppt

第7章 多线程编程精要

class ProducerThread extends Thread { long sum = 0; ProducerThread() { start(); } public void run() { synchronized (this) { for (int i = 0; i 1000; i++) sum += i; System.out.println(生产者产生完毕数据:sum= + sum); notify(); } }// run synchronized public long getSum() { try { wait(); } catch (InterruptedException ex) { ex.printStackTrace(); } return sum; } } 7.4多线程技术 7.4多线程技术 7.4.3 死锁 死锁是指线程间因互相等待对方的资源,而不能继续执行的情况。Java语言中未处理好同步问题,关键字synchronized使用不当就会导致死锁。一般来说,持有一个共享资源的锁并试图获取另一个时,就有可能发生死锁。 造成死锁问题的本质是无序使用造成的,在程序设计时应理清访问资源的顺序,确保每个线程获取资源和释放资源的顺序正好相反。例

文档评论(0)

1亿VIP精品文档

相关文档