爪哇 2博客
  爪哇 2博客

爪哇 线程示例

线 can be called as light weight process. 爪哇 supports multithreading , so it allows your application to perform two or more task concurrently.  Multithreading can be of advantage specially when now a days, machine has multiple CPUs, so multiple tasks can be executed concurrently.
每当我们在Java中调用main方法时,它实际上都会创建一个主线程。尽管它也会创建其他线程,但是它们与系统有关,称为守护程序线程。因此,如果我们想创建更多线程来并行执行任务,则可以使用multiThreading。

可以通过两种方式创建线程。

  • 通过扩展Thread类
  • 通过实现Runnable接口

通过扩展Thread类:

您可以通过扩展Thread类并覆盖run方法来创建自己的线程。您需要创建该类的对象,然后在其上调用start()方法以将线程作为不同的线程执行。

创建一个类FirstThread.java,如下所示。

1
2
3
4
5
6
7
8
9
10
11
12
 
组织 . Arpit . 爪哇 2blog . 线 ;
 
上市 第一线程 延伸 线 {
 
上市 虚空 ()
{
   系统 .. 打印 (“线程正在运行”);
}
 
}
 

在上面的程序中,我们通过扩展Thread类和重写run方法创建了自己的线程。

创建名为ThreadExampleMain.java的主类

1
2
3
4
5
6
7
8
9
10
11
12
13
 
组织 . Arpit . 爪哇 2blog . 线 ;
 
上市 线 ExampleMain {
 
上市 静态的 虚空 主要 ( args [])
{
   第一线程 英尺 = 第一线程 ();
   英尺 . 开始 ();
}
 
}
 

在上面的程序中,我们正在创建FirstThread类的对象并调用start方法来执行线程。
当您运行上述程序时,将得到以下输出。
线程正在运行

通过实现Runnable接口:

另一种方法是,您需要实现Runnable接口并重写public 虚空 跑 ()方法。您需要实例化类,将创建的对象传递给Thread构造函数,并在线程对象上调用start方法以将线程作为不同的线程执行。
如下创建一个类FirthThread.java。

1
2
3
4
5
6
7
8
9
10
11
12
 
组织 . Arpit . 爪哇 2blog . 线 ;
 
上市 第一线程 实施 可运行 {
 
上市 虚空 ()
{
   系统 .. 打印 (“线程正在运行”);
}
 
}
 

在上述程序中,我们创建了自己的类并实现了Runnable接口和重写的run()方法。
创建名为ThreadExampleMain.java的主类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
组织 . Arpit . 爪哇 2blog . 线 ;
 
上市 线 ExampleMain {
 
上市 静态的 虚空 主要 ( args [])
{
   第一线程 英尺 = 第一线程 ();
   线 t= 线 ( 英尺 );
  t. 开始 ();
}
 
}
 

在上面的程序中,我们正在创建一个FirstThread类的对象,并将其传递给Thread构造函数,并调用start方法来实际执行。start方法最终将调用FirstThread类的run方法。
当您运行上述程序时,将得到以下输出。
线程正在运行

线程vs可运行哪个更好?

实施中 可运行 由于以下原因,接口被认为是比扩展线程更好的方法。
  • 爪哇 不支持多重继承,因此如果您扩展Thread类并且不能扩展大多数情况下所需的任何其他类。
  • 可运行 接口表示一项任务,可以在Thread类或Executors的帮助下执行。
  • 使用继承时,是因为要扩展父级的某些属性,修改或改善类的行为。但是,如果要扩展线程类只是为了创建线程,则可能不建议将其用于面向对象编程。

导入联系人

您可能还喜欢:

分享这个

作者

关注作者

相关文章

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。


成为朋友

©2020 爪哇 2博客