Java 线程与线程池

Java  中的线程是  Java  虚拟机中的执行线程,它可以让  Java  应用程序并发执行代码。Java  线程是一种轻量级的线程,使用的内存资源相对较少,同时它可以通过使用多线程提高程序的并发性能,提高程序的执行效率。

创建线程的两种方式:

1.  继承  Thread  类并重写  run()  方法;

示例代码:

  • public class MyThread extends Thread {
  • @Override
  • public void run() {
  • System.out.println("MyThread is running.");
  • }
  • }
  • public class Test {
  • public static void main(String[] args) {
  • MyThread thread = new MyThread();
  • thread.start();
  • }
  • }


2.  实现  Runnable  接口,并重写  run()  方法。

示例代码:

  • public class MyRunnable implements Runnable {
  • @Override
  • public void run(){
  • System.out.println("MyRunnable is running.");
  • }
  • }
  • public class Test {
  • public static void main(String[] args) {
  • Thread thread = new Thread(new MyRunnable());
  • thread.start();
  • }
  • }


Java  线程池

Java  线程池是一种用于管理和控制线程的技术,它可以有效地避免线程的创建和销毁带来的性能开销以及频繁地调度线程带来的额外开销。线程池一般由线程池管理器、工作线程队列和工作线程组成,通过管理器对工作线程进行管理。

Java  线程池的使用可以提高性能和可靠性,同时还可以避免线程的卡死或者死锁等问题,提高程序的响应速度和稳定性。

Java  中的线程池通过  Executor  类来实现,内置了许多不同类型的线程池,主要包括  CachedThreadPool、FixedThreadPool、SingleThreadExecutor、ScheduledThreadPool  等等。

示例代码:

  • public class TestThreadPool {
  • public static void main(String[] args) {
  • ExecutorService executorService = Executors.newFixedThreadPool(5);
  • for (int i = 0; i < 10; i++) {
  • Runnable worker = new WorkerThread("" + i);
  • executorService.execute(worker);
  • }
  • executorService.shutdown();
  • while (!executorService.isTerminated()) {
  • }
  • System.out.println("Finished all threads");
  • }
  • }


以上代码使用了  Executors  类创建了一个  FixedThreadPool,线程池的大小为  5,然后创建了  10  个任务,最后使用了  executorService.shutdown()  得以停止线程池的运行。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值