Advertisement

华为机试049多线程(多线程)

阅读量:

题目描述:

存在四个线程与一个共享的字符数组。其中,线程1的作用是将字符A写入数组,线程2的作用是将字符B写入数组,线程3的作用是将字符C写入数组,线程4的作用是将字符D写入数组。要求按照ABCD的顺序依次向数组中赋值,并重复该过程若干次,具体重复次数由线程函数1的参数决定。

Java实现:

复制代码
 import java.util.Scanner;

    
  
    
 //临界资源
    
 class CharBuffer{
    
     private StringBuffer value = new StringBuffer();//共享变量
    
     private int num = 0;//添加次数
    
     private int order = 0;//信号量
    
  
    
     public String getVal() {
    
     return value.toString();
    
     }
    
  
    
     public CharBuffer(int num) {
    
     this.num = num;
    
     }
    
  
    
     //临界区
    
     public synchroni

全部评论 (0)

还没有任何评论哟~