在自己的构造函数中调用 thread.start() [重复]

2024-04-23

线程在自己的构造函数中调用 this.start() 是否合法?如果是的话,这会导致什么潜在问题?我知道在构造函数运行完成之前该对象不会完全初始化,但除此之外还有其他问题吗?


出于内存安全的原因,您不应从其构造函数内向另一个线程公开对对象或该对象字段的引用。假设您的自定义线程具有实例变量,通过从构造函数中启动它,您肯定会违反 Java 内存模型准则。看Brian Goetz 的安全施工技术 http://www.ibm.com/developerworks/java/library/j-jtp0618.html了解更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在自己的构造函数中调用 thread.start() [重复] 的相关文章

  • 如何在Spring中模拟ModelMapper?

    我正在尝试为我的服务层编写单元测试 SpringBootTest class ClinicServiceTest Mock private ProcedureRepository procedureRepository InjectMock
  • 基于接口的匿名类定义......也许?

    我在书中看到了这个Java片段春天在行动 但我不熟悉语言结构 new RowMapper public Object mapRow throws SQLException DataAccessException Motorist motor
  • 使用 Java 8 Stream 的构建器模式

    我正在用一个简单的循环构建一个对象 WebTarget target getClient target u for Entry
  • 返回 SOAP xml - Android

    在处理 Web 服务时 我使用适用于 Android 的 k2SOAP SoapObject request new SoapObject NAMESPACE METHOD NAME request addProperty ProjectI
  • Apache Tomahawk 文件上传不工作

    我在使用 Apache Tomahawk 时遇到问题 Glassfish 3 0 1 不断记录 警告 JSF1064 无法从库 org apache myfaces custom 中找到或提供资源 inputFileUpload xhtml
  • 在 Java 中引发竞争条件

    我必须编写一个引发竞争条件的单元测试 以便我可以测试稍后是否可以解决问题 问题是竞争条件很少发生 可能是因为我的计算机只有两个核心 代码如下 class MyDateTime String getColonTime datetime is
  • android:clickable="true" 意味着它不可点击?

    我有一个 ListView 其中包含一些自定义部分 每个部分都有自己的标题视图 我希望列表中的元素可单击 但显然不希望节标题可单击 所以在我添加的节标题的 xml 中android clickable false 调试时我注意到节标题仍然响
  • Hibernate EnumType 实例化异常

    我正在使用 hibernate 4 和基于 xml 的映射 这是我遇到的异常 Caused by org hibernate MappingException Unable to instantiate custom type org hi
  • Android:如何按下软键盘上方的按钮

    我有一个 保存 按钮 我想将其与软键盘一起按下 因此 当用户单击布局中的 EditText 时 按钮必须保持在键盘上方 现在该按钮隐藏在键盘下方 你怎么做到这一点 提前致谢 您需要将键盘的输入模式设置为adjustResize 您可以通过将
  • Jsoup遍历DOM树时节点哈希码冲突

    我正在使用 java jsoup 构建 HTML DOM 树 其中Node hashCode 用来 但我发现在遍历DOM树时存在很多哈希码冲突 使用以下代码 doc traverse new NodeVisitor Override pub
  • 改造:无法为类创建 @Body 转换器

    我需要通过改造 2 发送下一个 json Inspection UUID name ModifiedTime 2016 03 09T01 13 CreatedTime 2016 03 09T01 13 ReviewedWith name2
  • hadoop2.2.0追加文件发生AlreadyBeingCreatedException

    我遇到了一个关于hadoop2 2 0追加操作的问题 我通过 HDFS java API 将一些字节附加到 hdfs 文件 首先 如果在附加操作之前文件不存在 我将创建目标文件 代码如下 String fileUri hdfs hadoop
  • Tomcat 连接池与准备好的语句缓存

    从 DBCP 连接池升级到 Tomcat 自己的实现 基于优秀的比较here http tomcat apache org tomcat 7 0 doc jdbc pool html Introduction 我有点困惑为什么他们放弃了这两
  • 向每个表格单元格添加进度条以显示文件进度 - Java

    当您单击 加密 时 应用程序会对放入表中的每个文件进行加密 我想显示文件加密时的进度 然后 状态 列将从 未处理 更改为 已处理 类似于您查看电子邮件中附加的多个文件的方式 我一直在研究单元格渲染器和 ProgressBarTablecel
  • Android:如何管理同一应用程序使用的多个库中的公共代码库

    NOTE 这个问题是基于我在以下讨论中收到的答案 Android 2个具有相同包的aar库 https stackoverflow com questions 57347039 android 2 aar libraries with th
  • 多线程文件写入

    我正在尝试使用多个线程写入大文件的不同部分 就像分段文件下载器所做的那样 我的问题是 执行此操作的安全方法是什么 我是否打开文件进行写入 创建线程 将 Stream 对象传递给每个线程 我不希望发生错误 因为多个线程可能同时访问同一个对象
  • ContentPane 和 JPanel 之间有什么关系?

    我发现了一个示例 其中将按钮添加到面板 实例JPanel 然后将面板添加到容器中 由getContentPane 然后容器通过构造被包含到JFrame 窗户 我尝试了两件事 我把容器扔掉了 更详细地说 我向面板添加了按钮 实例JPanel
  • 对 java 9 ServiceLoader::load 方法以及如何提供服务实现的方式感到困惑

    在这个java文档中 https docs oracle com javase 9 docs api java util ServiceLoader html https docs oracle com javase 9 docs api
  • 如何通过代码使用 Google 翻译 API

    我正在尝试创建一个可以发送单词的应用程序翻译 google com 获取翻译结果并将其显示给用户 我编写了 URL 但我不知道如何从网页中提取单词 短语 伪示例 en 是英语代码 es 是西班牙语代码 String from en Stri
  • 带有 wsdl2java 插件的 gradle

    我正在使用 no nils wsdl2java 插件 完整的 gradle build 文件如下所示 plugins id org springframework boot version 2 3 4 RELEASE id io sprin

随机推荐

  • 没有河流的世界地图与 matplotlib / 底图?

    有没有一种方法可以用底图 或者没有底图 如果有其他方法的话 绘制大陆的边界 而不会出现那些烦人的河流 尤其是那段刚果河 连入海口都没有 令人不安 编辑 我打算进一步在地图上绘制数据 就像在底图库 http matplotlib org ba
  • 是否存在 Yahoogroups api?

    我们有 yahoogroups api 吗 我有一个 yahoo 群组 我希望每当我的 RSS 源更新时 都会自动向该群组发布一条消息 其中包含该帖子的链接 那可能吗 不 Yahoo 没有公共 API 团体 如果这样的 API 被开放 雅虎
  • Yii CDBCommand getText 显示 SQL 中的所有变量

    我正在使用 Yii 的 Yii app gt db gt createCommand 来构建 SQL 查询 为了查看 Yii 生成的 SQL 代码 我使用 CDBCommand 的 getText 方法 问题是 当我在包含参数的 SQL 代
  • 如何追踪僵尸对象崩溃?

    我的 iOS 应用程序发生了一些有线崩溃 并且它不是 100 可重现的 从崩溃日志中我可以看到无法识别的选择器 属性访问器 被发送到类型不正确的对象 很可能是僵尸 无论如何 XCode 中是否可以用来查看我是否正在尝试访问僵尸对象 Than
  • 如何存储(和使用)当前鼠标位置?

    存储当前鼠标位置 系统范围 然后 稍后 将鼠标放在该存储点的最佳方法是什么 NSEvent mouseLocation http developer apple com mac library documentation Cocoa Ref
  • Jsoup 解析和嵌套标签

    我正在学习 Jsoup 并有这个 HTML p Content p p Content p p Content p 我使用 Jsoup parse 和文档 select p 来捕获 内容 并且效果很好 但 p Content p p Con
  • Python向图像添加额外区域

    所以我有一张包含图像尺寸的表格 有多个不同尺寸的图像 66x66 400x400 等 我有一个图像示例 原始图像 其尺寸始终为 600x532 该图像上是一种产品 电视 PC 等 我必须调整该图像的大小 这不是问题 但如果我按照比例这样做
  • Linux bash 中波浪号的含义(不是主目录)

    首先 我知道 是主目录 CD 至 or 带我到主目录 然而 cd X带我去一个特别的地方 在那里X似乎是什么 在 bash 中 如果我点击 cd 然后点击选项卡 它会显示一堆可能的 X选项如 mail and postgres and ss
  • 如何计算r中两年的移动平均值

    我有一个关于并购 M As 的大数据框 900k 行 df 有四列 date 并购完成时 目标国家 被合并 收购的国家的公司 收购方 国家 收购方是哪个国家的公司 以及big corp 无论收购方是否是大公司 其中 TRUE 表示该公司很大
  • SQL:链接连接效率

    我的 WordPress 插件中有一个查询 如下所示 SELECT users U meta value AS first name M meta value AS last name FROM nwp users AS users LEF
  • 什么时候使用扩展方法,ext.方法与继承?

    我们开始使用 C NET 3 0 我想知道你们是如何使用扩展方法的 你什么时候使用它们 另外 如果您还列出使用它们的所有黑暗先决条件 我将不胜感激 使用扩展方法的次数 当你不控制扩展的类型时 您不想强迫实现者提供可以使用现有方法完成的代码
  • Inappbrowser回调

    我尝试使用 inappbrowser 登录 facebook 后回拨 但它无法检查电子邮件 姓名等 这是我的代码 Inapp浏览器调用 function onDeviceReady var my client id FBkey my red
  • 在文本文件上书写时,重音符号和特殊字符无法正确显示

    这就是我正在做的事情 我在网站上进行网络爬虫以供个人使用 以复制文本并将书籍的章节设置为文本格式 然后使用另一个程序将其自动转换为 pdf 以将其放入我的云中 一切都很好 直到发生这种情况 特殊字符无法正确复制 例如重音在文本文件上显示为
  • 自旋锁在单处理器单核架构中有用吗?

    我对自旋锁的功能感到困惑 自旋锁用于阻止进程重新调度 然而 在只有一个核心的机器上 使用自旋锁有用吗 防止上下文切换 您的观察结果很好 在单处理器系统上 旋转等待资源是没有意义的 因为您最好尽早切换线程 互斥体和信号量正是这样做的 在多处理
  • 如何使用 Laravel 4 Eloquent 连接列?

    我有一张桌子叫tenantdetails其中包含 Tenant Id First Name Last Name 我想找回First Name and Last Name通过 MySQL 的串联功能作为一列 所以我写在我的controller
  • java.lang.IllegalArgumentException:未找到属性类的 Setter

    我想实现一个带有行编辑的表格 I found 在展示柜中 但我每次都会收到此错误 javax servlet ServletException 找不到属性类的 Setter java lang IllegalArgumentExceptio
  • 如何使用代码“约定”映射来忽略属性映射

    有什么方法可以避免使用 NHibernate 3 2 使用代码约定映射来映射属性吗 默认情况下 所有属性都会被映射 2 作为复制粘贴 IsPersistent 属性默认实现的替代方案 它可以通过反射重用 var mapper new Con
  • 如何对重新采样的音频数据进行双三次(或其他非线性)插值?

    我正在编写一些以不同速度播放 WAV 文件的代码 以便波形要么更慢 音调更低 要么更快 音调更高 我目前正在使用简单的线性插值 如下所示 int newlength int Math Round rawdata Length lengthM
  • PHP NuSoap 中的复杂类型

    我正在使用 PHP 中的 NuSoap 库构建一个 Web 服务 我的 Web 服务将充当客户端和供应商现有的 Web 服务之间的中间层 因此 客户端不是直接连接到供应商 而是连接到我的 Web 服务 我的 Web 服务连接到供应商并获取响
  • 在自己的构造函数中调用 thread.start() [重复]

    这个问题在这里已经有答案了 线程在自己的构造函数中调用 this start 是否合法 如果是的话 这会导致什么潜在问题 我知道在构造函数运行完成之前该对象不会完全初始化 但除此之外还有其他问题吗 出于内存安全的原因 您不应从其构造函数内向