并发编程1:查看线程的stack信息

有时候写代码,不小心就写成了死循环,虽然几率不大,但是万一遇到,我们要知道怎么去排查这个问题。

一般情况下,我们可以通过jps名称,查看进程号

然后再通过jstack -l pid 查看进程的堆栈信息。

同时,我们写代码的时候,应该使用一些约定俗成的方法,避免产生死锁问题。

1.避免一个线程同时获得多个锁

2.避免一个线程在锁内部占用多个资源,尽量是一个锁占用一个资源

3.多使用超时锁,在使用jdk提供的锁时,使用lock.tryLock(timeOut),这样锁等待超过时间就会自动释放

4.对于数据库锁,加锁释放锁要在一个数据库连接里,否则释放锁会失败。

猜你喜欢

转载自blog.csdn.net/licwzy/article/details/83833071