java创建线程的四种方式
在Java中,创建线程主要有以下四种方式:
继承Thread类
创建一个继承自Thread类的子类。
重写run()方法,该方法包含线程执行的代码。
创建子类的实例,并调用start()方法启动线程。
实现Runnable接口
创建一个实现Runnable接口的类。
实现run()方法,该方法包含线程执行的代码。
创建Runnable实现类的实例,并将其作为参数传递给Thread类的构造函数。
创建Thread对象,并调用start()方法启动线程。
实现Callable接口
创建一个实现Callable接口的类。
实现call()方法,该方法可以返回一个结果,并且可以抛出异常。
创建Callable实现类的实例。
使用FutureTask类包装Callable实例。
创建一个Thread对象,并将FutureTask实例作为参数传递给它。
调用Thread对象的start()方法启动线程。
调用FutureTask对象的get()方法获取线程执行的结果。
使用线程池
使用ExecutorService框架创建线程池。
提交任务给线程池,任务可以是Runnable或Callable接口的实现。
线程池管理线程的创建和执行,可以复用线程,提高效率。
以上是Java中创建线程的四种主要方式。每种方式都有其适用场景和优缺点。选择哪种方式取决于具体的需求,例如是否需要返回执行结果、是否需要线程复用等