ExecutorService 를 사용하여 스레드수를 제한하여 사용하기

 

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor; 

 

public class ThreadTest {
    public static void main(String[] args) throws Exception {
        // 스레드풀을 사용하여 스레드 수를 제한하여 사용하기
        //final ExecutorService es = Executors.newCachedThreadPool(); // 1개이상의 스레드가 추가되었을경우 60초이상 동작을 하지 않으면 스레드를 풀에서 제거함.
        final ExecutorService es = Executors.newFixedThreadPool(2);   // 스레드수를 지정
       
        for(int i = 0 ; i < 10 ; i++){
            Runnable runnable = new Runnable() {
                @Override
                public void run() {
                    ThreadPoolExecutor tpe = (ThreadPoolExecutor) es;
                    int poolSize = tpe.getPoolSize();
                    String threadName = Thread.currentThread().getName();
                    System.out.println("총 스레드 개수 : " + poolSize + " \t thread Name : " + threadName);
                }
            };
           
            es.execute(runnable);
           
            Thread.sleep(100);
        }
        es.shutdown();
    }
}
반응형

소수점을 포함한 숫자만 입력가능한 Input 세팅

 

        $("#sample-table-1 input").each(function(){
            $(this).keyup(function(){
                if( $(this).val() != null && $(this).val() != '' ) {
                    var tmps = $(this).val().replace(/[^\.|^0(0)+|^0-9\.]/g, '');
                    /* 소수점은 하나만 입력되도록*/
                    var arr = tmps.split(".");
                    if(arr.length > 2) {
                        tmps = arr[0] + '.' + arr[1];
                    }
                    $(this).val(tmps);
                }
            });
            $(this).focusout(function() {
                if( $(this).val() != null && $(this).val() != '' ) {
                    var tmps = $(this).val().replace(/[^\.|^0(0)+|^0-9\.]/g, '');

                    /* 소수점은 하나만 입력되도록*/
                    var arr = tmps.split(".");
                    if(arr.length > 2) {
                        tmps = arr[0] + '.' + arr[1];
                    }
                    $(this).val(tmps);
                }
            });
        });

 


반응형

개발을 하다보면 품질관리 테스트중 오른쪽 마우스 클릭해서 붙여넣기를 막거나 Ctrl + V를 막을때 사용한다.

물론 그러면 안되지만 뚫을려고 마음먹으면 어떻게든 뚫을 수 있다.^-^;

 

    $(function(){
        var preventEvent = {
            "keydown" : function(e) {
                var keycode = function(e){
                    return ('which' in e ? e.which : e.keyCode)
                }(e),
                ctrl_cv = (e.ctrlKey && (keycode == 118 || keycode == 86)),
                shift_insert = (e.shiftKey && keycode == 45);
                if (ctrl_cv || shift_insert){
                    return false;
                }
            }
            ,"mousedown" : function(e) {
                var rightClick = (e.button == 2);
                if(rightClick){
                    return false;
                }
            }
            ,"contextmenu" : function(e) {
                return false;
            }
        };
        $(document).bind(preventEvent);
    }());
반응형

+ Recent posts