<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ゞ沉默是金ゞ

    魚離不開水,但是沒有說不離開哪滴水.
    posts - 98,comments - 104,trackbacks - 0
    This article will discuss about Thread pool that can schedule threads to run after a specified interval of time. From Java 5.0+ one can get such pool from Executors using following method –

    public static ScheduledExecutorService 
           newScheduledThreadPool(int corePoolSize)
        Creates a thread pool that can schedule commands to run after a given delay, or to execute periodically.

    The return type of this method (return type of thread pool) is ScheduledExecutorService.Some of the salient features of ScheduledExecutorService are –
    1.         Schedule a Callable or Runnable to run once with a fixed delay after submission
    2.         Schedule a Runnable to run periodically at a fixed rate
    3.         Schedule a Runnable to run periodically with a fixed delay between executions
    4.         Submission returns a ScheduledFutureTask handle which can be used to cancel the task
    5.  .Like Timer, but supports pooling


    Example:
    1. Suppose we are building a Bank check processing system. Here is the process –
    2.  Every local branch collect cheques and create a txt file contain cheque info.
    3.  A service runs which copy the cheque txt file from local branch to main server.
    4.  A Local service runs on server which check if any file has received and notify the cheque Clearing process.


    We will try to make “Local Service”, which check the file reception and “Copying process” Which copy file from client machine to Server.
    Pseudo Code-

    //Define Local & Copying service running interval time in Seconds
    //Make an ScheduledThreadPool with pool size 2
    try{
        // Make Local Service thread
        // Make Copying process thread
        // Scheduled Both thread to run at regular interval
    }catch(Exception e){
     //release all resources
    }

    LocalService Thread-
    Try{
            //Check if directory exists
            //Check if any file exists in directory
            //return status
    }catch(Exception e){
            //Print necessary exception
    }

    Copying Process Thread-
    Try{
       // Check if File existin on remote server
       // Copy the file to main server
    }catch(Exception e){
            //Print necessary exception
    }

    package com.jovialjava.blog.threads;

    import java.io.File;
    import java.util.concurrent.Executors;
    import java.util.concurrent.ScheduledExecutorService;
    import java.util.concurrent.TimeUnit;

    //LOCAL SERVICE THREAD
    class LocalService implements Runnable {

        
    private String DIRECTORY = null;

        
    public LocalService(String DIRECTORY) {
            
    this.DIRECTORY = DIRECTORY;
        }

        
    public void run() {
            
    try {
                File dir 
    = new File(this.DIRECTORY);
                
    if (dir.isDirectory()) {
                    
    if (dir.list().length > 0) {
                        System.out.println(
    "FILE EXISTS");
                    }
                } 
    else {
                    System.err.println(
    "NO SUCH DIRECTORY [" + dir.getAbsolutePath() + "] exists");
                }
            } 
    catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    // COPYING SERVICE THREAD
    class CopyService implements Runnable {

        
    private String REMOTE_DIR = null;
        
    private String LOCAL_DIR = null;

        
    public CopyService(String remoteDir, String localDir) {
            
    this.REMOTE_DIR = remoteDir;
            
    this.LOCAL_DIR = localDir;
        }

        
    public void run() {
            
    try {
                File remote 
    = new File(this.REMOTE_DIR);
                File local 
    = new File(this.LOCAL_DIR);
                
    if (remote.isDirectory() && local.isDirectory()) {
                    
    if (remote.list().length > 0) {
                        System.out.println(
    "REMOTE FILE FOUND, COPYING");
                        
    // --- Call the file copying method.
                    } else {
                        System.out.println(
    "NO REMOTE FILE FOUND");
                    }
                } 
    else {
                    System.err.println(
    "PLEASE CHECK DIRECTORY [" + remote.getAbsolutePath() + " OR/AND"
                            
    + local.getAbsolutePath() + "] existence");
                }
            } 
    catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    public class ScheduledExample {

        
    private static final ScheduledExecutorService executor = Executors.newScheduledThreadPool(2);
        
    private static final int LOCAL_INTERVAL = 5, COPY_INTERVAL = 2;
        
    private static final String REMOTE_DIR = "REMOTE", LOCAL_DIR = "LOCAL";

        
    public static void main(String args) {
            Runnable localService 
    = new LocalService(LOCAL_DIR);
            Runnable remoteService 
    = new CopyService(REMOTE_DIR, LOCAL_DIR);
            
    try {
                executor.scheduleWithFixedDelay(localService, 
    0, LOCAL_INTERVAL, TimeUnit.SECONDS);
                executor.scheduleWithFixedDelay(remoteService, 
    0, COPY_INTERVAL, TimeUnit.SECONDS);
            } 
    catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    posted on 2012-08-06 10:45 ゞ沉默是金ゞ 閱讀(869) 評(píng)論(0)  編輯  收藏 所屬分類: Java SE
    主站蜘蛛池模板: 91香蕉国产线在线观看免费| 成年女人色毛片免费看| 亚洲视频一区二区在线观看| 国产h肉在线视频免费观看| 亚洲人成网站999久久久综合| 亚洲AV无码乱码在线观看性色扶 | 狠狠久久永久免费观看| 精品一区二区三区免费观看| 亚洲经典在线中文字幕| 国产a级特黄的片子视频免费| 免费无码又爽又刺激一高潮| jlzzjlzz亚洲jzjzjz| 亚洲精品无码专区在线在线播放| 黄色成人免费网站| 国产精品美女久久久免费 | 亚洲成a人片77777老司机| 国内大片在线免费看| 在线看片免费人成视频福利| 亚洲国产综合精品中文第一| 久久夜色精品国产亚洲| 卡一卡二卡三在线入口免费| 日本视频免费高清一本18| 老司机免费午夜精品视频| 亚洲婷婷在线视频| 日韩一卡2卡3卡4卡新区亚洲| 成人毛片18岁女人毛片免费看| a级毛片毛片免费观看久潮| 亚洲AV无码专区亚洲AV桃| 91在线亚洲精品专区| 国产亚洲精品拍拍拍拍拍| 日韩在线免费看网站| 2019中文字幕在线电影免费| rh男男车车的车车免费网站| 亚洲精品国产第一综合99久久| 亚洲高清无在码在线无弹窗 | 久久乐国产精品亚洲综合| 四虎成人免费网址在线| 亚洲免费二区三区| 好久久免费视频高清| 72pao国产成视频永久免费| 亚洲JIZZJIZZ妇女|