< prev index next >
src/share/vm/gc/shared/concurrentGCThread.hpp
Print this page
rev 10297 : [mq]: webrev.01
*** 47,61 ****
--- 47,76 ----
// Record that the current thread is terminating, and will do more
// concurrent work.
void terminate();
+ // Most implementations of ConcurrentGCThread use ConcurrentGCThread's termination protocol,
+ // run(), and stop() methods, and provide specific implementations of run_service() and stop_service.
+ // Otherwise run_service() and stop_service should not be called.)
+
+ // Do the specific GC work. Called by run() after initialization complete.
+ virtual void run_service() { ShouldNotReachHere(); }
+
+ // Shut down the specific GC work. Called by stop() as part of termination protocol.
+ virtual void stop_service() { ShouldNotReachHere(); }
+
public:
ConcurrentGCThread();
// Tester
bool is_ConcurrentGC_thread() const { return true; }
+
+ virtual void run();
+
+ // shutdown following termination protocol
+ virtual void stop();
};
// The SurrogateLockerThread is used by concurrent GC threads for
// manipulating Java monitors, in particular, currently for
// manipulating the pending_list_lock. XXX
< prev index next >