Java 中的线索:概念和原则
来源:http://www.tudoupe.com时间:2021-11-05
一. 操作系统中的线索和流程概念
目前的操作系统是一个多任务操作系统,多线是多任务操作的一种方法。
一个进程是内存上的一个运行中的应用程序, 每个进程都有自己的内存空间, 一个进程可以启动几个线索。 例如, 在 Windows 中, 一个运行中的执行是一个进程 。
线索是指允许运行大量线索的实施进程, 如 Java 。 前线进程可以运行大量线索。 前线进程总是属于包含多个线索共享进程的记忆。 线索总是属于包含多个线索共享进程的进程的记忆。 数个线索是指允许运行众多线索的实施进程, 如 Java 。 前线进程可以运行大量线索。 线索总是属于包含多个线索共享进程的记忆。
“同时执行”是人类的感官, 网络应用程序之间轮流执行。
二. 爪哇使用线索。
在爪哇,“直线”一词可能指两种不同的东西:
一,爪哇。 来吧,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,
2、线程的执行。
来,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,
线索类只是一个带有变量和方法的对象, 就像爪哇的其他任何物体一样, 在堆积物上出生和死亡的。
在爪哇,每条线索都有一个呼叫台, 即使应用程序中没有产生新的线索, 这条线索也从后台运行。
Java 程序总是从主() 方法开始, 主() 函数在称为主线的线索内执行 。
创建新线条时会设置新的呼叫程序。
有两种线索:用户线索和观察和观察线索。
在所有用户线索完成后,JVM会自动结束,但观察线并不独立于JVM,而且经常由操作系统或用户建立。
创建并启动 Java 线索
1、定义线程
快,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,
这种类型的运行()函数,使用时应谨慎:
public void run()
如果线索是用独立的可运行运行对象构建的, 则调用可运行对象的运行方法; 否则, 该方法将不起作用, 返回 。
方法应该重新写入到线索子类中 。
爪哇实施。 来吧,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走
void run()
当线索与符合界面的可运行对象建立起来时, 开始线索以运行方式生成被独立运行的线索中被调用的对象的运行方法 。
方法运行的标准协议是,它可以开展任何必要的活动。
2.实例化线程
一,如果它是一个爪哇扩展。 来吧,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,我们走,
走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,走,
Thread(Runnable target)
Thread(Runnable target, String name)
Thread(ThreadGroup group, Runnable target)
Thread(ThreadGroup group, Runnable target, String name)
Thread(ThreadGroup group, Runnable target, String name, long stackSize)
3启动线程
在线进程的线索对象不使用运行() 或其它函数,而是引用启动() 方法。
执行启动() 函数之前, 线索处于一个新状态, 新的状态中存在线索对象, 但没有实际线索 。
在调用启动()功能后,发生了一系列复杂事件。
开始一条新的执行线(使用新的呼叫台);
(a) 将线路从新状态转到运行状态;
当允许执行线索时,其目标运行()函数将被调用。
N.B. 对 Java 来说,运行() 方法并不不寻常。 和主 () 方法一样, 它只是新线条理解调用的方法( 和签名) 的名称。 因此, 对可运行或线索的调用是有效的。 尽管如此, 没有创建新线条 。
该处的url网络要求提供数据。
四、例子五、一些常见问题
1. 线条的名称,运行中的线条总是有一个名称。在没有线条名称的情况下,虚拟机器总是给线条取一个名称,主线的名称总是米安语,非主线的名称也不明确。
2. 除主线外,线索可以用线索的名称或线索的名称指定。
3 要获取当前线索对象, 请使用 Thread. com. ornTread ();
4. 上面的编码只是保证每一条线将处于活动状态,每一条线将一直持续到完成为止,一连串线以某种顺序开始这一事实并不能保证它们将按照这一顺序进行,调度过程不能保证其执行的顺序,也不能保证其长度。
5. 当线性目标运行()函数完成时线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线性线
6. 启动后,线线无法重新启动,只有新线线才能激活,只有一次才能激活。运行中线或静线可以恢复。
7 行调度是 JVM 的一部分, 在 CPU 计算机上, 一次只能执行一条线。 JVM 线索调度器选择哪个线真正可以运行 。
当前线索是从众多运行线索中选择的。 选择运行线索运行的顺序没有保证 。
8. 虽然这通常以队列形式出现,但不能保证。 队列形式意味着在线条完成一个“ 圆形” 后, 线条的队列会排到排队的尾端, 等待最终排到队列的头部排好排好排好排好排好排好排好排好排好排好排好排好排好排好排好排好排好排好排好排好排好排好排好排好排好排好排好排好排好排好排好队。 事实上, 我们称它为“ 运行池”, 而不是“ 运行队列 ” 来帮助理解为什么线条不总是在特定的安全顺序中唱队列。
9. 虽然我们对线上移动方法没有控制权,但还有其他方法可以影响线上移动的方式。
相关新闻
- 2022-01-26 关于布尔类型的几个变种的解释
- 2022-01-25 开机显示器黑屏但电脑一直在运行
- 2022-01-23 fdtd安装过程出现问题
- 2022-01-21 win10休眠占用很大空间
- 2022-01-20 Go XP开发,以GoLand为例
- 2022-01-20 csol怎么全屏win10
- 2022-01-15 electron常见问题汇总
- 2022-01-14 【1】Python使用_1安装配置windows版
- 2022-01-13 【1】QtCreator使用_1安装配置windows版
- 2022-01-13 【1】CMake使用_1安装配置windows版
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
