相关疑难解决方法(0)

什么是僵局?

编写多线程应用程序时,遇到的最常见问题之一是死锁.

我对社区的问题是:

  1. 什么是僵局?

  2. 你怎么发现它们?

  3. 你处理它们吗?

  4. 最后,你如何防止它们发生?

concurrency multithreading deadlock locking

143
推荐指数
6
解决办法
10万
查看次数

防止java中死锁的提示

我正在研究java线程和死锁,我理解死锁的例子,但我想知道是否有一般规则要遵循以防止它.

我的问题是,是否有规则或技巧可以应用于java中的源代码以防止死锁?如果是,您能解释一下如何实施吗?

java multithreading deadlock

46
推荐指数
8
解决办法
6万
查看次数

如何更好地解释"僵局"?

我正在努力用简单的词语解释线程中的"死锁",所以请帮忙.什么可能是"死锁"(例如,在Java中)的最佳示例,以及它如何在步骤中发生以及如何防止它?但是没有深入细节.我知道这就像问两个相反的事情,但仍然.如果您有任何以前的并发编程培训经验 - 那将是一流的!

concurrency multithreading deadlock concurrent-programming

30
推荐指数
4
解决办法
1万
查看次数

避免死锁示例

我想知道在以下示例中有哪些替代方法可以避免死锁.以下示例是传输死锁问题的典型银行帐户.在实践中有哪些更好的解决方法?

class Account {
     double balance;
     int id;
     public Account(int id, double balance){
          this.balance = balance;
          this.id = id;
     }
     void withdraw(double amount){
          balance -= amount;
     } 
     void deposit(double amount){
          balance += amount;
     }
}
class Main{
     public static void main(String [] args){
           final Account a = new Account(1,1000);
           final Account b = new Account(2,300);
           Thread a = new Thread(){
                 public void run(){
                     transfer(a,b,200);
                 }
           };
           Thread b = new Thread(){
                 public void run(){
                     transfer(b,a,300);
                 }
           };
           a.start();
           b.start();
     } …
Run Code Online (Sandbox Code Playgroud)

java parallel-processing multithreading deadlock

18
推荐指数
4
解决办法
9726
查看次数

编程中出现死锁问题的常见程度如何?

我用多种语言编程,但我不知道代码中的死锁.

我认为这意味着它不会发生.

这是否经常发生(在编程中,而不是在数据库中)足够我应该关注它?

deadlock

4
推荐指数
2
解决办法
4450
查看次数

java中的并发性 - 如何测试它?

我目前正在使用Java并发.

我不知道怎么写负面情景测试.

我需要一种方法来制造死锁,我需要一种方法来看到,如果不使用同步,我可能会遇到像不一致这样的问题.

通常最好的方法是编写一些压力测试代码,如果省略同步,可能会显示不良结果?

任何代码示例都会非常适合.

谢谢大家!

java

3
推荐指数
1
解决办法
2375
查看次数

-1
推荐指数
1
解决办法
3752
查看次数