如何进行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)

相关推荐

  • 如何理解flink 1.11 中的JDBC Catalog

    技术如何理解flink 1.11 中的JDBC Catalog今天就跟大家聊聊有关如何理解flink 1.11 中的JDBC Catalog,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根

    攻略 2021年11月23日
  • djangoadmin设置(djangoadmin开发实例)

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

    攻略 2021年12月22日
  • docker swarm集群中如何指定容器部署节点

    技术docker swarm集群中如何指定容器部署节点这篇文章给大家介绍docker swarm集群中如何指定容器部署节点,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在docker swarm 集

    攻略 2021年10月20日
  • 怎么构建nftables

    技术怎么构建nftables这篇文章将为大家详细讲解有关怎么构建nftables,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。当前,有一个与 nftables 兼容的 iptables

    攻略 2021年10月26日
  • 如何使用Python进行社交媒体情感分析

    技术如何使用Python进行社交媒体情感分析这篇文章给大家介绍如何使用Python进行社交媒体情感分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。学习自然语言处理的基础知识并探索两个有用的 Pyt

    攻略 2021年10月26日
  • OGG ora-01403错误怎么处理

    技术OGG ora-01403错误怎么处理这篇文章给大家分享的是有关OGG ora-01403错误怎么处理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。OGG运维中有一个经典错误-1403

    攻略 2021年11月17日