当前位置: 6165.com > 古典文学 > 正文

欲望的牢笼_游戏剧本_好文学网

时间:2019-12-01 06:25来源:古典文学
B因为孤单寂寞,爱上了A,而A显得并不那么爱B,因此B为了获得A的关爱,一直用各种方式讨A的欢心,人的欲望哪有止境,A一直知道B的家底,因为B总爱炫耀有的没有的,为此,A做了详

B因为孤单寂寞,爱上了A,而A显得并不那么爱B,因此B为了获得A的关爱,一直用各种方式讨A的欢心,人的欲望哪有止境,A一直知道B的家底,因为B总爱炫耀有的没有的,为此,A做了详细的筹谋,为了获得B所拥有的一切。

一,问题描述

假设有两个线程在并发运行,一个线程执行的代码中含有一个死循环如:while(true)....当该线程在执行while(true)中代码时,另一个线程会有机会执行吗?

 

二,示例代码(代码来源于互联网)

 1 public class Service {
 2     Object object1 = new Object();
 3 
 4     public void methodA() {
 5         synchronized (object1) {
 6             System.out.println("methodA begin");
 7             boolean isContinueRun = true;
 8             //在这里执行一个死循环
 9             while (isContinueRun) {
10                 
11             }
12             System.out.println("methodA end");
13         }
14     }
15 
16     Object object2 = new Object();
17 
18     public void methodB() {
19         synchronized (object2) {
20             System.out.println("methodB begin");
21             System.out.println("methodB end");
22         }
23     }
24 }

 

两个线程类的实现如下:

 1 import service.Service;
 2 
 3 public class ThreadA extends Thread {
 4 
 5     private Service service;
 6 
 7     public ThreadA(Service service) {
 8         super();
 9         this.service = service;
10     }
11 
12     @Override
13     public void run() {
14         service.methodA();
15     }
16 
17 }

线程A执行methodA(),methodA()中有一个死循环

 

 1 import service.Service;
 2 
 3 public class ThreadB extends Thread {
 4 
 5     private Service service;
 6 
 7     public ThreadB(Service service) {
 8         super();
 9         this.service = service;
10     }
11 
12     @Override
13     public void run() {
14         service.methodB();
15     }
16 
17 }

线程B执行methodB(),当线程A进入methodA()中的while死循环时,线程B的能不能执行完成?

 

编辑:古典文学 本文来源:欲望的牢笼_游戏剧本_好文学网

关键词: