2015-05-14 131 views
0

我有一個多線程應用程序和一個類函數,它應該一次最多運行一個線程。找出多少個線程同時運行一個函數

這應該是我的應用程序設計的情況下,沒有同步。

但我得到了一些隨機錯誤,指出兩個線程在實例的函數中運行同一時間的情況。

在這種情況下,出於調試目的,是否有辦法引發異常?

我可以找到第二個線程與信號量,但我怎麼能確定第一個?

+0

你不應該**設計**你的應用程序首先是線程安全的嗎? – zubergu

+0

那就是我的目標,我試圖找到錯誤 – wutzebaer

回答

0

我做了一個信號量斷點:

if (s.availablePermits() < 1) { 
    System.out.println("Second"); 
} 

這應該停止第二線程,現在我在eclipse調試設置激活suspendVM,現在我可以在這個時候檢查所有線程