首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

线程诞生并从java开始

线程是一个程序中的基本执行单元,它是操作系统调度的基本单位。线程诞生并从Java开始,是因为Java是一种支持多线程的编程语言,它允许在一个程序中同时运行多个线程。

Java中的线程可以通过继承Thread类或实现Runnable接口来创建。通过继承Thread类,可以创建一个新的线程类,并重写其run()方法来定义线程的执行逻辑。通过实现Runnable接口,可以将线程的执行逻辑定义在一个实现了Runnable接口的类中,并将该类作为参数传递给Thread类的构造函数。

Java中的线程可以通过调用start()方法来启动线程,该方法会调用线程的run()方法,从而执行线程的执行逻辑。Java中的线程是由JVM调度的,它们可以在同一个程序中并发执行,从而提高程序的性能和响应速度。

Java中的线程还可以通过synchronized关键字来实现同步,以避免多个线程同时访问共享资源而导致的数据不一致问题。

总之,线程是Java编程语言中的一个重要概念,它可以帮助开发人员编写高效、可靠的程序。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

线程和锁

虽然前面章节的大部分讨论只涉及一次执行单个语句或表达式时的代码行为,也就是说,通过单个线程,Java虚拟机可以同时支持多个线程执行。这些线程独立地执行对共享主内存中的值和对象进行操作的代码。线程可以通过拥有多个硬件处理器、对单个硬件处理器进行时间切片或对多个硬件处理器进行时间切片来支持。 线程由类表示。用户创建线程的唯一方法是创建该类的对象;每个线程都与这样一个对象相关联。当在相应的线程对象上调用start()方法时,线程将启动。 线程的行为,特别是在没有正确同步的情况下,可能会令人困惑和违反直觉。本章描述了多线程程序的语义;它包括一些规则,这些规则的值可以被多个线程更新的共享内存的读取所看到。由于该规范类似于针对不同硬件架构的内存模型,因此这些语义称为Java编程语言内存模型。当不会产生混淆时,我们将简单地将这些规则称为“内存模型”。 这些语义并没有规定多线程程序应该如何执行。相反,它们描述了多线程程序允许展示的行为。任何只生成允许行为的执行策略都是可接受的执行策略。

02

我是一个JAVA线程,我有话要说

我可以通过Thread类new一个出来,也可以通过Runnable实现出来。另外我跟各个系统平台还有很大关系,我虽然诞生自JVM的虚拟环境,但运行时的程序本身是用C语言之类的开发语言编写的本机程序,因此我还占用了本机资源,比如本机内存,这点可以观察Thread类里面有很多的native方法就能明白我确实不能像其他类那样"潇洒",因为这意味着我所拥有的这些方法往往是没有使用或者没有办法来使用跟平台无关的手段来实现。另外多啰嗦一句,有时候需要本机内存的操作随jvm的实现不同也会有差别,但有些操作很常见,比如启动我这个线程的时候,加载类的时候,还有网络或者文件I/O操作等等,这些操作都需要本机内存的参与,这得益于JNI的支持使得JAVA运行时能够很方便的调用类似C语言编写的本机代码。所以说到这里的话,因操作系统不同因而实现不同,也就不仅仅是我自己不那么"潇洒"了,当然多数基本的类型还是都自由自在的畅游在JVM这个环境下的。

04
领券