java实现多线程的三种方法,java多线程

  java实现多线程的三种方法,java多线程

  如何解决写爬虫IP受阻的问题?立即使用。

  需求:我们想要实现多线程程序。

  (推荐课程:java课程)

  如何实现:

  因为线程依赖于进程而存在,所以我们应该首先创建一个进程。

  进程是由系统创建的,所以我们应该调用系统函数来创建进程。

  但是Java不能直接调用系统函数,所以我们不能直接实现多线程程序。

  而Java可以直接调用C/C编写的程序来实现多线程程序。

  因为C/C调用系统函数创建一个进程,然后Java调用这样的东西。

  然后提供一些类给我们使用。我们可以实现多线程。

  那么Java提供的类有哪些呢?

  线

  看API,我们知道多线程有两种实现方式。

  方法1:继承线程类

  步骤:

  答:自定义类MyThread继承了Thread类

  B:重写B:MyThread类中的run();

  为什么是run()方法?

  并非一个类的所有代码都需要由一个线程来执行。

  这时为了区分哪些代码可以被多线程执行,Java在Thread类中提供了run()方法。

  用于包含线程执行的代码。

  c:创建对象

  开始线程

  示例:

  包cn.itcast _ 01

  类如何实现多线程及其多线程模式1 {

  公共静态void main(String[] args) {

  //创建一个线程对象

  MyThread my=new MyThread();

  //启动线程

  my . run();

  my . run();

  //调用run();为什么方法是单线程的?

  //因为run();方法的直接调用实际上相当于普通的方法调用,所以你看到的是单线程的效果。

  //要看多线程的效果,还得说另一个方法:start()

  //面试问题run()和start()的区别

  //run():只封装线程执行的代码,直接调用还是常用的方法。

  //start():先启动线程,然后JVM会调用线程的run()方法。

  MyThread my=new MyThread();

  my . start();

  my . start();//IllegalThreadStateException:非法的线程状态异常

  //为什么?

  //因为这相当于我的线程调用了两次。而不是两个线程的开始。

  //创建两个线程

  MyThread my1=new MyThread();

  MyThread my2=new MyThread();

  my1 . start();

  my2 . start();

  }

  }相关推荐:java简介以上是java如何实现多线程的细节。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: