Trong Java, tôi cần thiết phải triển khai một lớp mở rộng chuỗi trong một lớp tương tự khác. Điều đó có thể không?Tôi có thể chạy một chuỗi trong một chuỗi trong java không?
Một ví dụ về những gì tôi đang cố gắng làm là như sau (giản thể) đoạn:
// The first layer is a Thread
public class Consumer extends Thread {
// Variables initialized correctly in the Creator
private BufferManager BProducer = null;
static class Mutex extends Object {}
static private Mutex sharedMutex = null;
public Consumer() {
// Initialization of the thread
sharedMutex = new Mutex();
BProducer = new BProducer(sharedMutex);
BProducer.start();
}
public void run() {
int data = BProducer.getData();
///// .... other operations
}
////// ...... some code
// Also the second layer is a Thread
private class BufferManager extends Thread {
Mutex sharedMutex;
int data;
public BufferManager(Mutex sM) {
sharedMutex = sM;
}
public int getData(Mutex sM) {
int tempdata;
synchronized(sharedMutex) {
tempdata = data;
}
return tempdata;
}
public void run() {
synchronized(sharedMutex) {
data = getDataFromSource();
}
///// .... other operations on the data
}
}
}
Các Chủ đề thứ hai được thực hiện trực tiếp bên trong một đầu tiên. Hơn nữa tôi muốn biết nếu thực hiện một Mutex như thế sẽ làm việc. Nếu không, có cách nào tốt hơn (tiêu chuẩn) để làm điều đó?
Cảm ơn bạn trước.
Đây không phải là khởi động. – mre
.. Làm sao bạn biết chắc chắn? – BlackVegetable
Tất cả các chủ đề được bắt đầu bởi chủ đề khác, bạn không có một sự lựa chọn. Các chủ đề để làm việc độc lập nhất có thể. –