写一个JAVA启动类作为主线程,并在启动类中创建并运行一个新的线程。B,在该新线程中从键盘读入一行字符串 java多线程编程

\u7f16\u5199\u4e00\u4e2aJava\u5e94\u7528\u7a0b\u5e8f\uff0c\u5728\u4e3b\u7ebf\u7a0b\u4e2d\u518d\u521b\u5efa\u4e00\u4e2aJframe\u7c7b\u578b\u7684\u7a97\u53e3\uff0c\u5728\u8be5\u7a97\u53e3\u4e2d\u518d\u521b\u5efa\u4e00\u4e2a\u7ebf\u7a0bgiveWord\u3002

\u3010\u4ee3\u78011\u3011//\u8c03\u7528sleep\u65b9\u6cd5\u4f7f\u5f97\u7ebf\u7a0b\u4e2d\u65ad6000\u8c6a\u79d2
sleep(6000);

\u3010\u4ee3\u78012\u3011//\u7528WordThread\u58f0\u660e\u4e00\u4e2agiveWord\u5bf9\u8c61
WordThread giveWord;

\u3010\u4ee3\u78013\u3011//\u521b\u5efagiveWord\uff0c\u5c06wordLabel\u4f20\u9012\u7ed9WordThread\u6784\u9020\u65b9\u6cd5\u7684\u53c2\u6570
giveWord = new WordThread(wordLabel);

\u3010\u4ee3\u78014\u3011
giveWord.isAlive()

\u3010\u4ee3\u78015\u3011//giveWord\u8c03\u7528\u65b9\u6cd5start()
giveWord.start()

import java.util.Scanner;

public class Test
{
public static void main(String[] args)
{
final Message message = new Message();

final Thread thread = new Thread(new Runnable() {
public void run() {
Scanner scanner = new Scanner(System.in);
while (true) {
String msg = scanner.next();
if (msg.equals("EXIT"))
return;
message.sendMessage(msg);
}
}
});
thread.start();

while (true) {
if (thread.isAlive() == false)
break;
String msg = message.receiveMessage();
if (msg != null) {
System.out.println(msg);
}
try {
Thread.sleep(100);
} catch (InterruptedException e) {}
}

}
}

class Message {
private String message;
private boolean unread = false;
synchronized void sendMessage(String message) {
this.message = message;
unread = true;
}

synchronized String receiveMessage() {
String msg = unread ? message : null;
unread = false;
return msg;
}
}

主线程
public class TestthreadA extends Thread{
public static void main(String[] args) {
new TestthreadA().start();
}

public void run(){
TestthreadB tb = new TestthreadB();

tb.start();
boolean flag = true;
while(flag){
if(!tb.isAlive()){
System.out.println("线程B已结束,正在退出线程A");
flag = false;
interrupt();
}
}
}
}

副线程
public class TestthreadB extends Thread{
public boolean f = true;

public void TestthreadB(){
}

@Override
public void run() {
// TODO Auto-generated method stub
String st=null;
boolean flag = true;
while(flag){
Scanner sc=new Scanner(System.in);
st=sc.next();
if("exit".equals(st.toLowerCase())){
flag = false;
System.out.println("正在退出线程B");
interrupt();
}else{
System.out.println("您输入的是:"+st);
}
}
}
}

兄弟也不会,只能写到这里,等待高烧:
public class A {
public static void main(String[] args){
C c=new C();
B b=new B();
Thread t=new Thread(b);
t.start();
}
}

class B implements Runnable{
public void B(){
}
@Override
public void run() {
String st=null;
while(true){
Scanner sc=new Scanner(System.in);
st=sc.next();
System.out.println(st);
}

}

}

一个Scanner接收字符串 然后判断isIgnorCase("exit") 如果是就调用system.exit(0)不是就不进IF语句 直接输出即可

  • java鑿滈笩鐨涓涓鐤戦棶 鍏充簬public static void main(String args...
    绛旓細public class Demo{}杩欐槸涓涓富绫锛岃屼笖鍦java涓杩欐牱鐨勭被鍙兘瀹氫箟涓涓紝鍏朵粬鐨勭被鍓嶄笉鑳藉姞public銆備絾鏄鏋滄槸瀹冪殑鍐呴儴绫诲垯鍙互銆傚锛歱ublic class Demo{ //瀹氫箟涓涓富绫 public class Demo3{} //瀹氫箟涓涓唴閮ㄧ被 } class Demo1{} //瀹氫箟涓涓被 class Demo2{} //鍐嶅畾涔変竴涓被 鐒...
  • java涓thread鐨剆tart鍜宺un鐨勫尯鍒
    绛旓細java涓thread鐨剆tart()鍜宺un()鐨勫尯鍒細1.start锛堬級鏂规硶鏉鍚姩绾跨▼锛岀湡姝e疄鐜颁簡澶氱嚎绋嬭繍琛岋紝杩欐椂鏃犻渶绛夊緟run鏂规硶浣撲唬鐮佹墽琛屽畬姣曡岀洿鎺ョ户缁墽琛屼笅闈㈢殑浠g爜锛氶氳繃璋冪敤Thread绫荤殑start()鏂规硶鏉鍚姩涓涓嚎绋锛岃繖鏃舵绾跨▼鏄浜庡氨缁姸鎬侊紝骞舵病鏈夎繍琛屻傜劧鍚庨氳繃姝hread绫昏皟鐢ㄦ柟娉時un()鏉ュ畬鎴愬叾杩愯鎿嶄綔鐨勶紝杩欓噷...
  • java鐨勭嚎绋闂
    绛旓細濡傛灉浣犱粎浠呮槸瑕侀伩寮涓嶅湪涓荤嚎绋閲屼娇鐢ㄨ繖涓柟娉曠殑璇濓紝鏈濂界殑鍔炴硶灏辨槸寮杈熷彟澶涓涓绾跨▼锛屽湪鏂扮殑绾跨▼閲岃皟鐢ㄨ繖涓柟娉曞氨鍙互浜嗭紝瀹炵幇Runnable鎺ュ彛鍙互寮杈熸柊鐨勭嚎绋
  • Java澶绾跨▼缂栫▼鍩虹涔嬬嚎绋嬪璞
    绛旓細鍦ㄨ繘鍏java骞冲彴鐨勭嚎绋嬪璞′箣鍓 鍩轰簬鍩虹绡囷紙涓锛夌殑涓浜涢棶棰 鎴戝厛鎻掑叆涓や釜鍩烘湰姒傚康 绾跨▼鐨勫苟鍙戜笌骞惰 鍦ㄥ崟CPU绯荤粺涓 绯荤粺璋冨害鍦ㄦ煇涓鏃跺埢鍙兘璁涓涓嚎绋杩愯 铏界劧杩欑璋冭瘯鏈哄埗鏈夊绉嶅舰寮忥紙澶у鏁版槸鏃堕棿鐗囪疆宸′负涓伙級 浣嗘棤璁哄浣 瑕侀氳繃涓嶆柇鍒囨崲闇瑕佽繍琛岀殑绾跨▼璁╁叾杩愯鐨勬柟寮忓氨鍙苟鍙戯紙concurrent锛 鑰...
  • 鍒涘缓涓涓鏂绾跨▼鍙互閫氳繃璋冪敤绾跨▼瀵硅薄鐨剅un鏂规硶
    绛旓細渚嬪锛屽亣璁炬垜浠鏈変竴涓瀹炵幇浜哛unnable鎺ュ彛鐨勭被锛java public class MyRunnable implements Runnable { Override public void run() { // 绾跨▼瑕佹墽琛岀殑浠g爜 ...} } 鎴戜滑鍙互鍒涘缓涓涓嚎绋瀵硅薄锛屽苟璋冪敤鍏秙tart鏂规硶鏉鍚姩涓涓鏂扮嚎绋嬶細java MyRunnable myRunnable = new MyRunnable();Thread thread = new ...
  • 鍦java閲岄潰浠涔堟槸绾跨▼,浠涔堟槸涓荤嚎绋?涓荤嚎绋嬪拰瀛愮嚎绋嬬殑鍏崇郴
    绛旓細棣栧厛锛java閲岀殑绾跨▼娌℃湁涓诲拰瀛愮殑璇存硶锛屽彧鏈夌嚎绋嬩紭鍏堢骇鐨勮娉,涔熻浣犺鐨勬槸杩涚▼鍜岀嚎绋嬪惂锛屼笅闈㈡槸璇︾粏璧勬枡 绾跨▼鏄寚杩涚▼鍐呯殑涓涓墽琛屽崟鍏,涔熸槸杩涚▼鍐呯殑鍙皟搴﹀疄浣.涓庤繘绋嬬殑鍖哄埆:(1)鍦板潃绌洪棿:杩涚▼鍐呯殑涓涓墽琛屽崟鍏;杩涚▼鑷冲皯鏈変竴涓嚎绋;瀹冧滑鍏变韩杩涚▼鐨勫湴鍧绌洪棿;鑰岃繘绋嬫湁鑷繁鐙珛鐨勫湴鍧绌洪棿;(2)璧勬簮鎷ユ湁:...
  • Java鍚姩鏃堕粯璁ゅ垱寤轰簡澶氬皯绾跨▼
    绛旓細姣忓綋浣跨敤java鍛戒护鎵ц涓涓被鏃讹紝瀹為檯涓婇兘浼鍚姩涓涓jvm,姣忎竴涓狫VM瀹為檯涓婂氨鏄湪鎿嶄綔绯荤粺涓惎鍔ㄤ竴涓繘绋嬶紝java鏈韩鍏峰浜嗗瀮鍦惧洖鏀舵満鍒讹紝鎵浠ユ瘡涓猨ava杩愯鏃惰嚦灏戜細鍚姩涓や釜绾跨▼锛屼竴涓猰ain绾跨▼锛屽彟澶栦竴涓槸鍨冨溇鍥炴敹鏈哄埗銆
  • java閲岄潰鍦涓荤嚎绋浜х敓澶氫釜瀛愮嚎绋,鎬庝箞璁╄繖浜涘瓙绾跨▼鍚屾椂杩愯,杩愯瀹屼互 ...
    绛旓細;} for(int i =0;i<50;i++){ System.out.println("璋冪敤涓荤嚎绋绗"+i+"娆");} } } class ThreJo extends Thread{ ThreJo(String s){ super(s);} public void run(){ for(int i =0;i<50;i++){ System.out.println("缁ф壙Thread"+i+"娆★紝鎴戞槸"+getName());} } } ...
  • JAVA澶绾跨▼闂
    绛旓細main浼氱敓鎴愪竴涓繘绋.鎵浠ュ氨鏄涓荤嚎绋.褰撹繖涓繘绋嬫鎺夊悗鎵鏈夌殑绾跨▼閮戒細缁撴潫.鎵浠ユ槸涓昏繘绋.start鏄鍚姩涓涓绾跨▼.run鏄綘璇寸殑瀵硅薄鏂规硶璋冪敤.鏄湪涓荤嚎绋嬮噷闈㈢殑.鎵浠ュ氨鏄富绾跨▼浜.寰堢畝鍗曠殑鐞嗚В 灏辨槸main閲岄潰鐨勯兘鏄富鐨.start鍑烘潵鐨勯兘鏄瓙鐨.涓嶇浣犵殑鎵ц鍐呭鏄粈涔 ...
  • java澶绾跨▼缂栫▼鐨涓涓闂
    绛旓細璁╃悆绫荤户鎵縍unnable锛宺un鏂规硶涓璾pdate鐞冪殑浣嶇疆锛岀劧鍚庣粰鐞冪被涓涓鏂规硶锛堟瘮濡俫etPosition()锛夎涓诲嚱鏁拌兘鑾峰彇姝ょ悆鐨勫綋鍓嶄綅缃紝鍦ㄤ富鍑芥暟閲岀殑paint閲屾潵鑾峰彇鐞冪殑浣嶇疆鐢荤悆銆鍚姩绾跨▼锛欱all ball1 = new Ball();Ball ball2 = new Ball();Ball ball3 = new Ball();new Thread(ball1).start();new Thread...
  • 扩展阅读:java启动器苹果手机下载 ... 免费官方java启动器 ... java javascript ... 我的世界java启动器1.19 ... 手机版java启动器下载 ... pojaylauncher启动器 ... 手机玩java版mc的启动器 ... java启动器怎么加模组 ... 手机版javahmcl启动器 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网