亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Java多線程學習筆記(常用方法和關鍵字)

標簽:
Java
Java多线程常用方法和关键字(自己容易忘记的和弄混的)
1.Thread类常用方法:
Thread MyThread = new Thread(mt,"线程名");

-
//sleep()使该线程进入阻塞状态,本身不会释放锁
MyThread .sleep(millis);//毫秒数
MyThread .sleep(millis, nanos);//毫秒数+纳秒数

MyThread .yield()//放弃cpu使用权利,使该线程进入就绪状态
MyThread.getState();//获得线程状态
MyThread.currentThread();//获得正在执行的线程对象MyThread
MyThread.join();//等待该线程结束,调用该线程(MyThread)的该方法(.join())的线程(比如主线程)才能继续执行
MyThread.setDaemon(on);//设置该线程为守护线程
MyThread.isDaemon();//判断是否守护线程

2.非Thread类的常用方法和关键字

-
synchronized关键字

//代表调用该代码块的线程获取obj的锁
synchronized(obj){
    ...
}
//代表调用该代码块的线程获取method方法的锁
void synchronized method(){
    ...
}

obj.wait():
该方法在synchronized(obj)代码块中使用(synchronized(obj)中的obj和obj.wait()中的obj是同一个),调用obj对象的 wait() 方法导致调用该方法的线程阻塞,该线程被放入wait set, obj对象同步锁被该线程释放。等待其他线程将其唤醒带就绪状态。
notifyAll():
该方法在同样在synchronized(obj)代码块中使用,唤醒因为wait()方法被放入wait set的所有线程,使其变为就绪状态
notify():
同样在synchronized(obj)代码块中使用,随机唤醒一个因为wait()方法被放入wait set的所有线程,使其变为就绪状态。

退出线程:
volatile boolean keepRunning=true;//在线程内部设置退出旗标,
while(keepRunning){
......//需要线程重复处理的内容
}
在线程外将keepRunning = false,则内部线程会处理完成之后结束

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消