src/share/vm/runtime/thread.hpp

changeset 4250
c284cf4781f0
parent 4183
7b5885dadbdc
child 4298
d0aa87f04bd5
equal deleted inserted replaced
4249:8940ddc1036f 4250:c284cf4781f0
720 virtual void run(); 720 virtual void run();
721 721
722 private: 722 private:
723 static WatcherThread* _watcher_thread; 723 static WatcherThread* _watcher_thread;
724 724
725 static bool _startable;
725 volatile static bool _should_terminate; // updated without holding lock 726 volatile static bool _should_terminate; // updated without holding lock
726 public: 727 public:
727 enum SomeConstants { 728 enum SomeConstants {
728 delay_interval = 10 // interrupt delay in milliseconds 729 delay_interval = 10 // interrupt delay in milliseconds
729 }; 730 };
736 737
737 // Printing 738 // Printing
738 char* name() const { return (char*)"VM Periodic Task Thread"; } 739 char* name() const { return (char*)"VM Periodic Task Thread"; }
739 void print_on(outputStream* st) const; 740 void print_on(outputStream* st) const;
740 void print() const { print_on(tty); } 741 void print() const { print_on(tty); }
742 void unpark();
741 743
742 // Returns the single instance of WatcherThread 744 // Returns the single instance of WatcherThread
743 static WatcherThread* watcher_thread() { return _watcher_thread; } 745 static WatcherThread* watcher_thread() { return _watcher_thread; }
744 746
745 // Create and start the single instance of WatcherThread, or stop it on shutdown 747 // Create and start the single instance of WatcherThread, or stop it on shutdown
746 static void start(); 748 static void start();
747 static void stop(); 749 static void stop();
750 // Only allow start once the VM is sufficiently initialized
751 // Otherwise the first task to enroll will trigger the start
752 static void make_startable();
753
754 private:
755 int sleep() const;
748 }; 756 };
749 757
750 758
751 class CompilerThread; 759 class CompilerThread;
752 760

mercurial