- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在研究java中的ThreadGroups。根据 Javadoc,它是这样写的:
允许线程访问有关其自己线程组的信息,但是 不访问有关其线程组的父线程组的信息或 任何其他线程组。
但是当我实现以下代码时它正在工作,
public static void main(String args[]){
//parent thread group It_Firm
ThreadGroup It_Firm=new ThreadGroup("It_Firm");
//Child thread group web
ThreadGroup web=new ThreadGroup(It_Firm,"webdeveloper");
/*
* A thread entry in child thread group set in which i am trying to call parent's thread group activecount()
* method,as per the docs it will stop me to call for any information from parent's thread group or any other
* thread group but it is not doing it.
*/
Thread th=new Thread(web,new Runnable(){
@Override
public void run() {
while(true){
try {
Thread.sleep(500);
Thread ths[]=new Thread[Thread.currentThread().getThreadGroup().getParent().activeCount()];
Thread.currentThread().getThreadGroup().getParent().enumerate(ths);
for(int i=0;i<ths.length;i++){
System.out.println("group name"+ths[i].getThreadGroup().getName()+" : name : "+ths[i].getName());
System.out.println("state"+ths[i].isAlive());
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
},"prashank");
th.start();
//some dummy code in parent thread group
Thread th_pthread=new Thread(It_Firm,new Runnable(){
@Override
public void run() {
boolean flag=true;
while(flag){
Scanner sc=new Scanner(System.in);
char ch=sc.nextLine().charAt(0);
if(ch=='N')
flag=false;
}
}
},"abc pvt ltd");
th_pthread.start();
}
现在我无法理解发生了什么,我对此很陌生,为什么我能够获取有关当前线程的线程组父级的信息。我是否遗漏了一些东西,有任何相关信息吗?
最佳答案
我相信文档的意思是,当线程 accesses it's own 时,没有安全检查。 ThreadGroup
,即它不会因 SecurityException
失败:
public final ThreadGroup getThreadGroup() {
return group;
}
但是当accessing the parent时有安全检查ThreadGroup 的,即它可能会因 SecurityException
失败:
public final ThreadGroup getParent() {
if (parent != null)
parent.checkAccess();
return parent;
}
默认的SecurityManager仅在尝试访问根线程组(默认线程组)时才会检查modifyThreadGroup
权限:
public void checkAccess(ThreadGroup g) {
if (g == null) {
throw new NullPointerException("thread group can't be null");
}
if (g == rootGroup) {
checkPermission(SecurityConstants.MODIFY_THREADGROUP_PERMISSION);
} else {
// just return
}
}
但是你可以install your own可以覆盖 checkAccess(ThreadGroup g) 的安全管理器方法。
关于java - 断线组java api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48649683/
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 9 年前。 Improve th
请参阅以下玩具示例。 任何帮助将不胜感激!谢谢! shinyApp( ui = fluidPage( actionButton("btnId", "I want a line break he
我收到如下 JSON 响应: Lorem ipsum ¦dolor sit amet 我想做的是替换所有broken bars (|)。 我尝试过 .replaceAll("\u00A6", "");
我正在尝试学习图像特征检测技术。 我已经设法检测到水平线(不间断/连续),但是我无法检测到图像中的所有虚线/断线。 这是我的测试图片,你可以看到有虚线和一些文本/框等。 到目前为止,我使用了以下代码,
我有一个 json 文件,其中包含一些文本,其中一些文本可能有一些断线 "surchargeNoteText":"Please note \r \n that pre-payments will ta
我正在尝试制作一个 html + css 网站,我试图为一个跨度(具有 .float 类)制作一个正确的 float ,但它打破了一条线,我想知道如何防止它打破一个线?我尝试了 display:inl
我有 2 个 float div,我想将它们放在同一行上,它们加起来超过 1024 像素宽,因此它们需要水平窗口滚动,但尽管它们用 white-space:nowrap;
我是一名优秀的程序员,十分优秀!