我正在爲聖經寫文本搜索程序,我想用線程來分割工作,以便減少執行時間。我對Java編程非常熟悉,但對整個「線程」來說卻是全新的。基本上,該計劃是拉動聖經的單獨書籍,閱讀文本,尋找單詞,然後拉下一本書。我想分解它,以便4-8個線程在單獨的書上同時工作。使用java中的線程將串行程序轉換爲並行程序?
有沒有什麼幫助?
public static void main(String args[]){
String wordToSearch = "";
String[] booksOfBible;
int bookPosition = 0;
ArrayList<String> finalList = new ArrayList<String>();
getWord gW = new getWord();
getBook gB = new getBook();
checkBook cB = new checkBook();
wordToSearch = gW.getWord(wordToSearch);
booksOfBible = gB.getFileList();
//System.out.println(wordToSearch);
for(int i = 0; i < booksOfBible.length; i++){
//System.out.println(booksOfBible[i]);//Test to see if books are in order
String[] verses = gB.getNextBook(booksOfBible, bookPosition);
//System.out.println(verses[0]);//Test to see if the books are being read properly
cB.checkForWord(wordToSearch, verses, booksOfBible[i], finalList);
bookPosition++;
}
for(int i = 0; i < finalList.size(); i++){
System.out.println(finalList.get(i));
}
System.out.println("Word found " + finalList.size() + " times");
}
通過製作文本的「字典」可以實現更快的搜索。拋出此問題的額外線索不太可能有所幫助。 –
*「有任何幫助?」*任何(特定)問題? –
在深入多線程之前閱讀一些教程是一個好主意,請參閱[this](http://www.ntu.edu.sg/home/ehchua/programming/java/J5e_multithreading.html)。並行編程非常困難,而單線程編程的經驗並沒有真正爲你做好準備。 –