java中什么是线程同步,java中什么是线程工厂
什么是线程
线程是指一个进程中的一个执行进程,其中可以运行多个线程。例如,许多线程可以在java.exe进程中运行。一个线程永远属于一个进程,进程中的多个线程共享进程的内存。
在Java中,“线程”指的是两种不同的东西:
1.java.lang.Thread类的实例;
2.线程的执行。
推荐相关java视频教程:java视频教程
使用java.lang.Thread类或java.lang.Runnable接口编写代码来定义、实例化和启动新线程。
线程类实例只是一个对象。像Java中的任何其他对象一样,它有变量和方法,它在堆中生存或死亡。
在Java中,每个线程都有一个调用栈,即使程序中没有创建新线程,线程也会在后台运行。
一个Java应用程序总是从main()方法开始运行,而mian()方法运行在一个线程中,这个线程叫做主线程。
一旦创建了新线程,就会生成新的调用堆栈。
线程一般分为两类:用户线程和等待线程。
当所有用户线程完成执行时,JVM会自动关闭。但是等待线程并不是独立于JVM的,等待线程一般是由操作系统或者用户自己创建的。
Java线程:创建与启动
一、定义线程
1.扩展java.lang.Thread类。
这个类中有一个run()方法,应该注意它的用法:
Public void run()如果线程是使用独立的runnable对象构造的,调用runnable对象的Run方法;否则,该方法不执行任何操作并返回。
Thread的子类应该覆盖这个方法。
2.实现java.lang.Runnable接口。
Voiderun()用实现Runnable接口的对象创建线程时,启动线程会导致对象的run方法在独立执行的线程中被调用。
run方法的一般惯例是它可以执行任何需要的操作。
二、实例化线程
1.如果是扩展java.lang.Thread类的线程,可以直接新建。
2.如果是实现java.lang.Runnable接口的类,使用线程构造方法:
线程(可运行目标)
线程(可运行目标,字符串名称)
线程(线程组组,可运行目标)
线程(线程组组,可运行目标,字符串名称)
Thread(ThreadGroup组,可运行目标,字符串名称,长堆栈大小)三、启动线程
在线程的线程对象上调用start()方法,而不是run()或其他方法。
在调用start()方法之前:线程处于新的状态。新状态意味着有一个线程对象,但还没有真正的线程。
调用start()方法后:发生了一系列复杂的事情。
启动新的执行线程(使用新的调用堆栈);
线程从新状态转移到可运行状态;
当线程有机会执行时,它的目标run()方法将会运行。
注意:Java的run()方法没有什么特别的。和main()方法一样,只是新线程知道被调用方法的名称(和签名)。因此,在Runnable或Thread上调用run方法是合法的。但不启动新线程。
相关文章教程推荐:java零基础入门。以上是java里什么是线程的细节。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。