如何进行Java语言规范线程形式的分析

技术如何进行Java语言规范线程形式的分析如何进行Java语言规范线程形式的分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在一开始接触Java的时候我们

对于如何分析Java语言规范的线程形式,相信很多没有经验的人都无能为力。为此,本文总结了问题产生的原因及解决方法。希望你能通过这篇文章解决这个问题。

我们第一次接触Java的时候,并没有太关注Java语言规范,这其实是错误的。下面我们来看看:开始执行Java语言规范程序后,至少会有一个线程开始运行,运行的线程称为主线程,主线程执行输入类的main()。当main()中的所有处理完成时,主线程也完成了。

当应用程序的规模大到一定程度,程序里的多线程会以每种形式存在。以下是几个常见的范例:

1) GUI应用。

2)比较耗时的输入输出处理。

3)多个客户端。

启动线程有两种方法:

1)通过使用线程类的子类的实例来启动线程。

2)通过使用Runnable接口的实现类的实例来启动线程。

请注意,“线程实例”和“线程本身”是两个不同的部分。即使建立了thread的一个实例,Thread还没有启动,即使线程已经结束,Thread的实例也不会这样消失。

设置一个实现Runnable接口的类,将这个类的实例传递给Thread的构造函数,并调用start().这是使用Runnable接口启动线程的方法。

记住:无论哪种方式,启动一个新线程的方法总是线程类的start()。

Java语言中常见的字符串注意事项

浅析Java语言和C#语言

Java语言学习:概述

什么是OSGi:Java语言的动态模块系统

快速掌握PHP调用Java语言的方法。

使用Thread类的sleep()暂停线程的执行。当执行以下语句时,当前线程(执行该语句的线程)可以暂时停止1000 ms以上。

thread . sleep(1000);

当用synchronized关键字声明一个实例方法时,只有一个线程可以操作某个实例的这种方法。“让一个线程运行”并不意味着只有一个特定的线程可以运行,而是一次只能有一个线程可以执行。此方法称为同步方法(synchronized method)。

Synchronized instance方法就是用这个锁来做线程的共享互斥。Synchronized class方法就是利用这个类的类对象的锁来做线程的共享互斥。

Java语言规范线程的协调(这三种方法执行的前提是执行线程拥有obj的锁):

1) obj.wait()是将当前线程放入等待集中;指物体;

2) obj.notify()是从obj的等待集中唤醒一个线程;

3) obj.notifyAll()是唤醒obj的等待集中的所有线程。

被唤醒的线程仅处于等锁状态(但不再处于等待集),此时obj的锁仍在执行notify()或notifyAll()的线程手中。当被唤醒的线程被锁定时,它将在wait()之后继续执行。介绍

Java语言规范多线程程序的评量标准

安全-不要损坏物体。

生存-采取必要措施。(活性)

可重用性-可重用的类。

性能-可以快速大规模处理。

单线程执行——只有一个人可以通过这座桥。

单线程执行意味着“在一个线程中执行”。就像细木桥只能让一个人通过一样,这种模式是用来限制只能运行一根线。

在单线程执行模式中,我们通过限制只有一个线程可以同时调用unsafety(加上同步)来保护unsafety。这个必须由单线程执行的程序范围称为“临界区”。

使用单线程执行模式时,可能存在死锁的危险。

当SharedResource的字段对子类开放时,它可能会因为子类编写unsafeMethod而失去安全性。

同步的方法和同步的块,不管返回还是异常,肯定会解锁。

结论,Java语言规范中:

1)基本类型、引用类型的规范和引用都是原子操作。

2)但是long和double的指定和引用是可以分开的。

3)要在线程之间共享一个长字段或双字段,必须在synchronized中操作或声明它为volatile。

看完以上内容,你掌握了如何分析Java语言规范的线程形式了吗?如果您想学习更多技能或了解更多相关内容,请关注行业资讯频道,感谢您的阅读!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/108894.html

(0)

相关推荐

  • 对女生的称呼,男孩子如何称呼女孩子比较好

    技术对女生的称呼,男孩子如何称呼女孩子比较好虽然我们看不透人心对女生的称呼,但是我们可以用自己的心感受到谁对我们好,谁有对我们不好。看了一个像是段子又不是段子的调侃:喜欢你的时候,是亲爱的。不喜欢你的时候,是猪。想你的时

    生活 2021年10月22日
  • Oracle索引范围扫描操作流程是什么

    技术Oracle索引范围扫描操作流程是什么本篇内容主要讲解“Oracle索引范围扫描操作流程是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle索引范围扫描操作流

    攻略 2021年11月4日
  • 抖音刷粉关注,抖音刷粉怎么操作?

    技术抖音刷粉关注,抖音刷粉怎么操作?首先,抖音刷粉是不违规的。这在行业内已经属于潜规则了。很多网红公司都在使用这类辅助工具。目前这类辅助工具,不违规,也不违法。可以放心使用。但是需要找到靠谱的代刷网,否则很可能被坑钱财。

    测评 2021年10月26日
  • parameters里的默认数值怎么设置(parameters怎么赋值给它)

    技术Parameters参数怎么使用本篇内容介绍了“Parameters参数怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够

    攻略 2021年12月24日
  • 1千伏安等于多少千瓦,KVA与KW有什么区别

    技术1千伏安等于多少千瓦,KVA与KW有什么区别KVA与KW有什么区别?答:KVA是视在功率(S)的表示方法1千伏安等于多少千瓦。它指交流电源所能提供的总功率称为视在功率或表现功率,在数值上是交流电路中电压与电流的乘积。

    生活 2021年10月27日
  • PHP+jQuery-ui怎么进行拖动浮动层排序并保存到数据库

    技术PHP+jQuery-ui怎么进行拖动浮动层排序并保存到数据库这篇文章将为大家详细讲解有关PHP+jQuery-ui怎么进行拖动浮动层排序并保存到数据库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这

    攻略 2021年11月16日