1. Java / Говнокод #7441

    +72

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    package com.uva.concurrent;
    
    import com.uva.log.Log;
    import com.uva.log.Message;
    
    public class ThreadExecutor implements Executor {
    	private final String name;
    
    	public ThreadExecutor(String name) {
    		this.name = name;
    	}
    
    	public void execute(Runnable target) {
    		new Thread(target, name).start();
    	}
    	
    	/** Execute given runnable in separate thread. All exceptions will be caught.
    	 * @param runnable - runnable to execute. */
    	public void executeSilent(final Runnable runnable) {
    		new Thread() {	
    			public void run() {
    				try {
    					runnable.run();
    				} 
    				catch (RuntimeException e) {
    					Log.exception(name, Message.CRITICAL_ERROR, e);
    					throw e;
    				}
    			}
    		}.start();
    	}
    }

    Junior пишет весьма ThreadPoolExecutor для BlackBerry.

    Запостил: enikey, 04 Августа 2011

    Комментарии (8) RSS

    • >All exceptions will be caught
      Видимо, он исключения, не наследуемые от RuntimeException, за исключения не считает. Или исправлял код, пока Eclipse не разрешил ему не объявлять throws.

      > executeSilent
      Какой silent, все исключения пробрасываются.

      Кругом какие-то велосипеды. Одно только import com.uva.log.Log чего стоит.
      Ответить
    • >All exceptions will be caught.
      All your base will belong to us.
      Ответить
    • Простите, это не тот код :)

      http://govnokod.ru/7445 Вот оно!
      Ответить
    • Небось ещё есть com.uva.util.Collection,..., com.uva.util.Date, com.uva.sql.Connection, ...
      Ответить
      • Братан, представь есть такая Java где нет НИХУЯ, и называется она J2ME / BlackBerry. И когда ты пишеш код под обе эти платформы ты вынужден идти на компромисы. Некоторое обилие велосипедов - один из них.
        Ответить
        • Братан, сорцы стандартной библиотеки открыты: бери и пользуйся, велосипеды ни к чему
          Ответить
          • Твоя правда. Но ведь иногда так хочется изобрести маленький велосипед, который правильно ездит.
            Ответить

    Добавить комментарий