重学JAVA基础(四):线程的创建与执行
1.继承Thread
public class TestThread extends Thread{ public void run(){ System.out.println(Thread.currentThread().getName()); } public static void main(String[] args) { Thread t = new TestThread(); t.start(); } }
2.实现Runnable
public class TestRunnable implements Runnable { @Override public void run() { System.out.println(Thread.currentThread().getName()); } public static void main(String[] args) { Thread t = new Thread(new TestRunnable()); t.start(); } }
3.线程池
public class TestThreadPool { public static ExecutorService singlePool = Executors.newSingleThreadExecutor(); private static ExecutorService fixedPool = Executors.newFixedThreadPool(2); private static ExecutorService cachedPool = Executors.newCachedThreadPool(); private static ThreadPoolExecutor tpe = new ThreadPoolExecutor(5, 10, 5000, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(), new DefaultThreadFactory(),new ThreadPoolExecutor.AbortPolicy()); private static class DefaultThreadFactory implements ThreadFactory{ @Override public Thread newThread(Runnable r) { Thread t = new Thread(r); return t; } } public static void main(String[] args) { singlePool.execute(new TestThreadP()); fixedPool.execute(new TestThreadP()); cachedPool.execute(new TestThreadP()); tpe.execute(new TestThreadP()); } } class TestThreadP implements Runnable{ @Override public void run() { System.out.println(Thread.currentThread().getName()); } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步