В настоящее время я работаю с Java, MongoDB и несколькими потоками.
Для каждого потока я запускаю подключение MongoDB.
private Mongo m;
m = new Mongo();
Я рассмотрел использование памяти с помощью TOP иЯ видел несколько экземпляров MongoDB Jar
(вызов библиотеки mongo-2.6.3.jar).Я пытался уничтожить его после завершения обработки каждого потока с помощью:
m.close();
m = null;
System.gc();
Но в памяти до сих пор ничего не осталось, пока моя программа не остановилась.
Есть идеи?Спасибо.
ОК. Я провел несколько тестов, касающихся учебника, но не очень успешно.На самом деле у меня есть:
public class process {
public static Mongo m;
public static DB db;
public process() {
m = new Mongo();
//for each database
threadDatabase thread = new threadDatabase(database);
thread.start();
}
}
public class threadDatabase extends Thread {
public threadDatabase (String database) {
this.database = database;
}
public void run() {
process.db.requestStart();
processDatabase(this.database);
process.db.requestDone();
}
private boolean processDatabase(String dbname) {
process.db = process.m.getDB(dbname);
//getting data on the dedicated database
}
}