- 浏览: 747596 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (419)
- 杂软粉墨 (2)
- 创意灵感 (3)
- 经验记录 (137)
- 开源轨迹 (2)
- sip-communicator (2)
- 闲侃杂谈 (8)
- 问题交流 (24)
- 概念模式 (32)
- 难点备案 (5)
- JwChat (1)
- 中国象棋 (1)
- 教育探索 (6)
- 英语研究 (58)
- 星际争霸 (1)
- 电信知识 (1)
- 软件架构 (3)
- 哲学探索 (26)
- 算法灵魂 (8)
- 近视探索 (6)
- 数学数学 (3)
- 牛角钻尖 (23)
- 至强文言 (3)
- 数据结构 (1)
- 宇宙物理 (2)
- 网络架构 (3)
- 游戏领域 (4)
- 图形处理 (2)
- 修炼之路 (8)
- 读书天地 (20)
- 编解乱码 (2)
- 概念探索 (8)
- 格物致知 (1)
- 其它语言 (1)
- 测试领域 (3)
- 文化风流 (1)
- JQuery (1)
- 網頁領域 (1)
- Unix/Linux (1)
- Inside JVM (1)
- 异常分析 (1)
最新评论
-
suyujie:
引用
HTML <a> 标签灰显禁用 -
suyujie:
HTML <a> 标签灰显禁用 -
suyujie:
HTML <a> 标签灰显禁用 -
suyujie:
HTML <a> 标签灰显禁用 -
iamzhoug37:
您能说一下"局部变量不受文本顺序限制" 是 ...
声明前为什么能赋值却不能输出,都是使用
import java.util.Timer; import java.util.TimerTask; public class Worker extends Thread { private volatile boolean quittingTime = false; public void run() { while (!quittingTime) pretendToWork(); System.out.println("Beer is good"); } private void pretendToWork() { try { Thread.sleep(300); // Sleeping on the job? } catch (InterruptedException ex) { } } // It's quitting time, wait for worker - Called by good boss synchronized void quit() throws InterruptedException { quittingTime = true; join(); } // Rescind quitting time - Called by evil boss synchronized void keepWorking() { quittingTime = false; } public static void main(String[] args) throws InterruptedException { final Worker worker = new Worker(); worker.start(); Timer t = new Timer(true); // Daemon thread t.schedule(new TimerTask() { public void run() { worker.keepWorking(); } }, 500); Thread.sleep(400); worker.quit(); } }
If you run the above code, the program just hangs repeatably. why? anwser is located in Java Puzzlers puzzle 77 The Lock Mess Monster. as join method executed in the main thread just waits and releases the lock, the daemon thread accquires the lock and set it to run forever.
The answer concerns the implementation of Thread.join . It can't be found in the documentation for this method, at least in releases up to and including release 5.0. Internally, Thread.join calls Object.wait on the Thread instance representing the thread being joined. This releases the lock for the duration of the wait. In the case of our program, this allows the timer thread, representing the evil boss, to waltz in and set quittingTime back to false , even though the main thread is currently executing the synchronized quit method. As a consequence, the worker thread never sees that it's quitting time and keeps running forever. The main thread, representing the good boss, never returns from the join method.
here, i think the join method though executed by the main thread, and it waits for the main thread to die, but main thread wont go to death until the worker thread finishes its life, is it?
发表评论
-
NullPointerException in ternary operator
2013-01-19 00:01 1122java代码: Integer i = null; ... -
why concrete class must implement abstract method while abstract class need not
2011-05-11 13:27 1515yes, just as the title...why co ... -
Enum singleton - Elvis Stealer
2011-04-26 14:41 1634import java.io.ByteArrayInputSt ... -
why can inner class be instantiated in this way?
2011-04-06 10:24 1019public class Outer { pub ... -
into native source code
2011-03-23 23:09 963once there was a problem occurr ... -
why is static inner class singleton thread safe?
2011-03-15 09:03 1455http://en.wikipedia.org/wiki/In ... -
why string concatenation yields no interned one
2011-03-14 16:48 1112public class Test { public st ... -
why can bit mask suppress sign extention
2011-03-10 09:16 1179yes, bit mask can suppress sign ... -
About gc two objects which are inter referenced to each other
2011-03-08 11:00 1050my workmate told me such a sena ... -
circumvents exception checking
2011-03-03 11:02 965import java.io.IOException; ... -
关于维基中singleton pattern的一段
2011-02-24 10:00 1092Another notable difference is t ... -
why List hasn't clone method but the ArrayList has
2011-02-16 15:27 1170List list = new ArrayList(); ... -
deep copy
2011-02-16 15:20 1039static public Object deepCopy(O ... -
Java is Pass-by-Value
2011-02-14 13:28 1092This often heard saying is not ... -
不是说字符串不可变吗
2011-02-14 11:28 896from csdn: http://topic.csdn.ne ... -
没有实现抽象方法的具体类居然编译通过了
2011-02-04 22:29 973来自csdn: http://topic.csdn.net/ ... -
关于iterator的fail-fast
2011-01-20 11:15 996是使用集合的iterator后,再改变就可能抛出这个异常 ... -
生成几个String的问题
2011-01-11 16:26 1011public class Test extends java. ... -
无符号右移>>>
2011-01-11 15:46 2342public class Test { public st ... -
Struts2之log信息不出的问题
2010-12-30 11:18 3020刚开始学习Struts2的时候,用的是maven方式,但是却不 ...
相关推荐
these components automatically determine and use the most secured authentication method. POP3, SMTP clients - working with GMAIL service with OAUTH 2.0 authorization. Fully functional ...
FastReport.v4.15 for.Delphi.BCB.Full.Source企业版含ClientServer中文修正版支持Delphi 4-XE5 and C++Builder 6-XE5. D2010以上版本(D14_D19)安装...* improved AddFrom method - anchor coping - fixed bug with ...
! ! Unigraphics Modeling Application Menu File ! ! ! VERSION 120 UG6.0 ... *************** Changes to the Menubar itself *************** ... MESSAGE Groups features into a collection called a feature set. ...
人力资源+大数据+薪酬报告+涨薪调薪,在学习、工作生活中,越来越多的事务都会使用到报告,通常情况下,报告的内容含量大、篇幅较长。那么什么样的薪酬报告才是有效的呢?以下是小编精心整理的调薪申请报告,欢迎大家分享。相信老板看到这样的报告,一定会考虑涨薪的哦。
迅雷
21考试真题最近的t210.txt
内容概要:本文介绍了一个基于Java的简单命令行学生管理系统。该项目包含了添加、查看、更新和删除学生的全部功能,并对每个部分的实现进行了详尽展示,包括关键源代码以及操作步骤指引。项目的主干由多个重要文件构成:Student.java 负责定义学生类及其属性访问器方法;StudentManager.java 实现对学生信息的操作处理逻辑,如创建、读取、更新、销毁(CRUD)等;而 Main.java 则用于执行主程序逻辑并初始化StudentManager实例,提供命令行交互环境以供用户执行相应操作。
one-api本地部署ollama+deepseek-r1
krpanodew,全景编辑器。一键生成全景图和连续前景图并生成场景。
基于Matlab 2021的两电平拓扑三相桥式逆变并网仿真:双环PI控制、SPWM调制与LCL滤波研究,基于Matlab2021的电压型三相桥式逆变并网仿真研究:双环PI控制、SPWM调制与LCL滤波器的应用,电压型三相桥式逆变并网仿真Matlab2021 电路采用两电平拓扑,采用双环PI控制, 变部分加设PLL锁相环, 采用SPWM调制,逆变器输出端加设LCL滤波器,并入电网。 可以得到逆变器输出端为三电平的线电压波形,滤波后可以得到对称三相电压、电流波形。 无需发,联系即可发邮件。 ,三相桥式逆变器;两电平拓扑;双环PI控制;电压型逆变;PLL锁相环;SPWM调制;LCL滤波器;电网并网;线电压波形。,Matlab 2021三相桥式逆变并网仿真:双环PI控制与LCL滤波器应用
纯电动汽车零部件建模机理与前后向仿真控制策略详解:聚焦BMS、再生制动及电机驱动扭矩策略,纯电动汽车零部件建模机理与前后向仿真控制策略详解:从Cruise到ADVISOR建模实践与能量流解析,纯电动汽车各零部件建模机理及BMS、再生制动和电机驱动扭矩策略,逻辑清晰公式明晰。 主要从前向和后向仿真两大类分别阐述建模机理和控制策略。 前向模型主要参考Cruise建模及相关文献,后向模型主要参考ADVISOR建模且对其自带的纯电动汽车模型进行注释分析。 现打包,包含文档、参考模型和参考文献等,适合学习纯电动汽车建模机理,整篇文档主要为公式和整车能量流走向 ,关键零部件建模; BMS; 再生制动; 电机驱动扭矩策略; 前向仿真建模; 后向仿真建模; 能量流走向; 公式明晰; 文档参考。,纯电动整车建模与控制策略解析:BMS、再生制动与电机驱动扭矩的深度研究
情人节html+css源码
基于Yolo系列算法的计算机视觉与人工智能目标检测技术研究,基于Yolo系列算法的计算机视觉与人工智能目标检测技术分析,基于yolo系列的目标检测分析,人工智能,计算机视觉。 ,基于yolo系列;目标检测分析;人工智能;计算机视觉,基于Yolo系列的人工智能计算机视觉目标检测分析
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用,资源为网络商品(电子资料类)基于网络商品和电子资料商品的性质和特征不支持退款,质量优质,放心下载使用
Epson_L130,需要删除后缀
21考试真题最近的t315.txt
22考试真题最近的t3.txt
双重搜索算法BAS-SCA融合正余弦算法优化极限学习机ELM:混合改进机制,避免局部最优,提高收敛精度,双重搜索算法BAS-SCA与正余弦算法融合优化极限学习机ELM:避免局部最优的混合改进机制,提高收敛精度,融合天牛须算法与正余弦算法的双重搜索算法BAS-SCA优化极限学习机ELM,采用混合改进机制可有效避免搜索陷入局部最优,收敛精度高 ,关键词:融合算法;双重搜索;BAS-SCA;优化;极限学习机ELM;混合改进机制;局部最优;收敛精度高。,双算法融合优化ELM,高效避免局部最优,提高收敛精度
基于NPC五电平逆变器的并网逆变器PQ控制技术研究——通过功率闭环控制实现精确电网相位锁相环与高效并网功率因数调整,基于双二阶广义积分器的NPC五电平逆变器并网PQ控制技术:功率闭环控制与离散化仿真实现,NPC五电平逆变器。 并网逆变器PQ控制。 通过功率闭环控制,实现并网单位功率因数,即并网电流与网侧电压同相位。 为了得到电网电网相位,采用基于双二阶广义积分器的锁相环,该锁相环可以快速准确无误的得到电网相位。 且在初始阶段,就可以得到电网相位,比Matlab自带的锁相环要快很多。 并网有功设定为50kW,无功设定为0,通过仿真可以看出,很快实现了给定的并网功率。 整个仿真全部离散化,包括采样与控制的离散,控制与采样环节没有使用simulink自带的模块搭建,全部手工搭建。 ,基于上述信息,以下是几个核心关键词: NPC五电平逆变器; 并网逆变器PQ控制; 功率闭环控制; 电网相位; 快速准确锁相环; 离散化仿真; 手工搭建。,离散化控制的五电平逆变器并网策略研究
双闭环控制的Buck变换器:实现软启动与离散化仿真的完美电压跟随,Buck变换器:双闭环控制与软启动策略,输出电压平稳跟随参考电压,buck变器。 采用双闭环控制,外环为电压环,内环为电流环。 其中,内环采用平均电流采样。 buck变器采用软启动控制,可以使电流不突变。 从仿真图中可以看出,在0.5秒的时间内,完成了软启动,输出电压完美跟随参考电压。 在1秒时,启动加载。 此时,输出电压有微小的变动,但是马上跟随给定参考电压。 整个仿真完全离散化,主电路与控制部分以不同的步长运行,更加贴合实际。 ,buck变换器;双闭环控制;外环电压环;内环电流环;平均电流采样;软启动控制;离散化仿真;主电路;控制部分步长,双闭环控制的Buck变换器:软启动与精确电压跟随的仿真研究