java多线程的实现方式,java 实现多线程

  java多线程的实现方式,java 实现多线程

  

  如何实现java多线程

  Java多线程是Java的高级特性之一。通过多线程,可以同时实现多任务协作,在特定情况下提高程序效率。但是,仍然应该谨慎使用Java多线程。首先,Java多线程对编码技能要求很高。一旦使用不当,会造成程序错误,线程间恶意竞争会死锁,造成程序卡顿。其次,多线程的滥用可能会造成一些关键参数紊乱,所以要做好线程间的同步和锁管理。第三,线程的切换需要额外的成本,也就是常说的“上下文切换”。如果使用不当,不仅不能提高效率,反而会造成效率的急剧下降。(推荐教程:java教程)

  1.继承Thread来实现多线程

  Java为我们提供了一个超类线程来扩展。一旦我们继承了它,就可以通过override中的run方法实现多线程。具体代码如下:

  导入Java . io . *;

  公共类MyThread扩展线程{

  @覆盖

  公共无效运行(){

  system . out . println(thread . current thread()。getName());

  }

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

  thread t1=new MyThread();

  thread T2=new MyThread();

  t1 . start();

  T2 . start();

  }

  }2.通过实现Runnable接口来实现

  对于某些类,它们不能继承Thread来实现多线程。因为Java规定同一时间只能继承一个超类,但是可以同时实现多个接口,所以Runnable特别受欢迎。具体代码如下:

  导入Java . io . *;

  公共类MyThread实现Runnable{

  @覆盖

  公共无效运行(){

  system . out . println(thread . current thread()。getName());

  }

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

  Thread t1=新线程(new MyThread());

  线程t2=新线程(new MyThread());

  t1 . start();

  T2 . start();

  }

  }上面的方法直接定义了实现Runnable方法的类。事实上,也可以将它修改成匿名内部类方法来创建线程,如下所示:

  导入Java . io . *;

  公共类MyThread {

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

  线程t1=新线程(新Runnable() {

  @覆盖

  公共无效运行(){

  system . out . println(thread . current thread()。getId());

  }

  });

  线程t2=新线程(新Runnable() {

  @覆盖

  公共无效运行(){

  system . out . println(thread . current thread()。getId());

  }

  });

  t1 . start();

  T2 . start();

  }

  }3.通过Callable来实现一个Thread

  导入Java . util . concurrent . callable;

  导入Java . util . concurrent . future task;

  公共类MyThread实现CallableInteger{

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

  MyThread t1=new MyThread();

  FutureTaskInteger future=new FutureTaskInteger(t1);

  新帖(未来,“哈欠”)。start();

  }

  @覆盖

  公共整数调用()引发异常{

  system . out . println(thread . current thread()。getName());

  返回null

  }

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

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

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