Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6611495
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T19:58:36+00:00 2026-05-25T19:58:36+00:00

I need to prevent a certain application function from being run concurrently with itself.

  • 0

I need to prevent a certain application function from being run concurrently with itself. The risk is significant because this function is in code submitted to java.util.Timer (to repeat every minute for several hours) and the process that sets up the function completes and goes back to the bash command line. The user might then invoke the same program. Another risk is from the user that has two or more console windows and they mistakenly run the program in both console windows.

I think an operating system-wide semaphore with a Java API might do the trick. Is there such a Java archive available?

I was asked if multiple JVMs are used. I think if multiple consoles are opened then multiple JVMs are implied.

This is my wrapper to use Java’s Timer and TimerTask.

public final class TimedExecutorWrapper
{       ... various private members ... 
        public Timer go()
        {
            Timer myTimer = new Timer();
            myTimer.scheduleAtFixedRate(this.myTask, 
                                        this.startTodayAtThisTime, 
                                        this.frequencyInSeconds * 1000);
            TimerTask myTaskToInvokeCancel = new TaskToInvokeCancel(myTimer);

            // use the same Timer to schedule the task that cancels and purges
            myTimer.schedule(myTaskToInvokeCancel,
                             this.stopTodayAtThisTime);
            return myTimer;
        }

        private final class TaskToInvokeCancel extends TimerTask
        {
                private Timer timer; // to be cancelled and purged

                TaskToInvokeCancel(Timer timer)
                {
                    this.timer = timer;
                }

                public void run()
                {
                  this.timer.cancel(); // discards any scheduled tasks without 
                                     //  interfering with any running task
                  this.timer.purge(); 
                }
        }
}
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T19:58:37+00:00Added an answer on May 25, 2026 at 7:58 pm

    You could create a 0 byte file ‘methodname.LOCK’ in a shared directory when you begin the operation, and delete it when you are done. Creating it with a no recreate flag in Java should solve your problem.

    Make sure to delete it in a ‘finally’ block so you are never left in a state where the file exists and continues to block the process from ever running

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I need to prevent a document from being saved / saved as (say from
I need to prevent user from selecting text (select all or select a portion
Does cygwin allow a statically compiled binary? This would prevent the need for cygwin1.dll
I need to check all of my asp code to prevent SQL injection. Should
I need to capture keystokes from a wedge device and prevent any controls or
Customers from around the world can send certain 'requests' to my server application. All
I need to: 1. Monitor operations on certain drives/paths 2. Prevent read and/or write
I need a cron job to check email accounts and download certain attachments. This
I have a WPF application from a client that I need to add a
I'm working on implementing a function to prevent removal of certain elements in a

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.