Если я объявляю глобальную переменную в основном потоке, предположим, что из основного потока я запускаю новый поток, может ли новый поток получить доступ к глобальной переменной в основном потоке?java: являются глобальными переменными, видимыми в потоках
«сбщи» строка мой переменная Acces
/* A simple banner applet.
This applet creates a thread that scrolls
the message contained in msg right to left
across the applet's window.
*/
import java.awt.*;
import java.applet.*;
/*
<applet code="SimpleBanner" width=300 height=50>
</applet>
*/
public class AppletSkel extends Applet implements Runnable {
String msg = " A Simple Moving Banner."; //<<-----------------VARIABLE TO ACCESS
Thread t = null;
int state;
boolean stopFlag;
// Set colors and initialize thread.
public void init() {
setBackground(Color.cyan);
setForeground(Color.red);
}
// Start thread
public void start() {
t = new Thread(this);
stopFlag = false;
t.start();
}
// Entry point for the thread that runs the banner.
public void run() {
char ch;
// Display banner
for(; ;) {
try {
repaint();
Thread.sleep(250);
ch = msg.charAt(0);
msg = msg.substring(1, msg.length());
msg += ch;
if(stopFlag)
break;
} catch(InterruptedException e) {}
}
}
// Pause the banner.
public void stop() {
stopFlag = true;
t = null;
}
// Display the banner.
public void paint(Graphics g) {
g.drawString(msg, 50, 30);
g.drawString(msg, 80, 40);
}
}
Что вы подразумеваете под глобальной переменной? 'public static'? Тогда да, так осторожно при его изменении. –
Да. Вот почему вам приходится беспокоиться о безопасности потоков. –
Небольшой фрагмент кода поможет понять, что вы просите. – kiheru