実行可能なスレッドを持つクラスがあります。私は同時にこのクラスに変数を複数回送信します。クラスはrun()メソッドを持ち、別のクラスから送られた変数のスレッドを開始します。 いくつかのプロセスの後で、私は割り込みでスレッドを停止する必要がありますが、私は(MyThread.interrupt()などの)停止したいスレッドの名前をspesifyする必要があります。問題は、毎回同じオブジェクト名のスレッドをクラスに作成することです。だから、私はこのスレッドオブジェクトを毎回別々に名前をつけて、その名前で止める必要があります。しかし、私は知りません..これは私のコードです。別のクラスでスレッドに複数回名前を付けてJavaで使用する方法
public class KasaThread {
public static Thread till ;
public static String [] table_list_kasa;
public static void get (final String IP,final String MagID){
till = new Thread() {
public void run() {
if(IP != null){
try{
...
...
...
}catch(Exception e} {}
、私は(till.interrupt())のような名前で、このスレッドを中断... しかし、私が言ったように、このクラスで作成されたすべてのスレッドは、(まで)同じ名前を持ちます。
これを解決するにはどうすればよいですか?
ありがとうございます。
'Thread'クラスで' String'をとる 'getName'はありません。また、私はこれがどのように問題を解決するのか分かりません。はい、スレッドに名前を付けますが、スレッドにアクセスする方法はありません。 – Oebele
よく、はい、私はこれを意味します: 'for(スレッドスレッド:スレッド){if(thread.getName()。equals(" yourName "))thread.interrupt();}'あるいは、そこからあなたのスレッドを制御してください – mrserfr
はいこのようにしています。私はマップを作成し、末尾に数字を追加して(till1、till2など)スレッドの名前を変更し、スレッドの名前をマップに入れます。しかし、私はそこからどのように呼び出すのですか?私はtill2.interrupt()を使う必要がありますが、ThreadではなくStringとしてvarillableを持っています。 –