import?java.util.concurrent.Semaphore;
為天寧等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及天寧網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、做網(wǎng)站、天寧網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
/**
*
*?@author?Mi?Zhou
*/
public?class?LibraryDemo?{
//?主要在于理解多線程變量共享和互斥的問題
//?這里共享和互斥的變量就是?圖書館的這10個座位
//?我們用信號量?Semaphore?來表示用?10?個座位的這個圖書館
//?(如果目前不知道什么是?Semaphore,建議先了解這個概念)
public?static?void?main(String[]?args)?throws?Exception?{
//?創(chuàng)建有?10?個許可的信號量(在這里可以理解為圖書館,圖書館最多容納?10?個人)
Semaphore?semaphore?=?new?Semaphore(10);
//?假設(shè)有?15?個人來圖書館讀書,每個人都在圖書館待?1?秒
for?(int?i?=?1;?i?=?15;?++i)?{?
ReaderRunnable?rr?=?new?ReaderRunnable(i,?1,?semaphore);
new?Thread(rr).start();
}
//?查看輸出你會發(fā)現(xiàn)圖書館最多是同時?10?個讀者在里面
}
}
//?讀者線程
class?ReaderRunnable?implements?Runnable?{
private?final?int?readerNo;?//?讀者編號
private?final?int?stayTime;?//?這個讀者在圖書館待的時間,以?秒?計
private?final?Semaphore?semaphore;?//?當前的圖書館
public?ReaderRunnable(int?readerNo,?int?stayTime,?Semaphore?semaphore)?{
this.readerNo?=?readerNo;
this.stayTime?=?stayTime;
this.semaphore?=?semaphore;
}
@Override
public?void?run()?{
try?{
//?請求進入圖書館,如果圖書館沒有座位了,這個方法會阻塞,直到圖書館有座位
semaphore.acquire();?
System.out.println("讀者?"?+?readerNo?+?"?進入圖書館");
Thread.sleep(stayTime?*?1000);?//?在圖書館待著
System.out.println("讀者?"?+?readerNo?+?"?離開圖書館");
semaphore.release();?//?離開圖書館
}?catch?(InterruptedException?ex)?{
ex.printStackTrace(System.err);
}
}
}
(1)session.invalidate();
(2)服務(wù)器有session過期時間,達到過期時間沒有訪問,自動就注銷了
(3)切斷與服務(wù)器的會話連接,如關(guān)閉瀏覽器、瀏覽頁也可以,這樣做不會實時讓服務(wù)器上的session注銷,但只要你不保存之前用過的session信息并重復(fù)使用(或重放),再次訪問時服務(wù)器會新分配一個session
Java 的執(zhí)行順序是從main方法開始的,要是main方法結(jié)束,那么整個程序也結(jié)束了。但是可以開一個和主方法并列的線程達到你想完成的功能
點擊注銷,跳轉(zhuǎn)到后臺,去掉當前用戶session,然后跳轉(zhuǎn)登錄界面。
你要先選擇 你想你要注銷的那段話
再按 CTRL + /
效果如下
// import com.rdi.flex.constant.Constant;
// import com.rdi.flex.service.ServiceLocator;
// import com.rdi.ncms.entity.*;
// import com.rdi.ncms.utils.CacheUtil;
你要取消注釋 就再選擇你已經(jīng)注釋的代碼
再按 CTRL + /
效果如下
import com.rdi.flex.constant.Constant;
import com.rdi.flex.service.ServiceLocator;
import com.rdi.ncms.entity.*;
import com.rdi.ncms.utils.CacheUtil;
還一種 ctrl+shirft+c 操作步驟跟上面一樣
效果
/* import com.rdi.flex.constant.Constant;
import com.rdi.flex.service.ServiceLocator;
import com.rdi.ncms.entity.*;
import com.rdi.ncms.utils.CacheUtil; */
都是可以實現(xiàn)你的注銷一段話的 兩種不同的注釋!
新聞名稱:java注銷的代碼 java撤銷
文章轉(zhuǎn)載:http://sd-ha.com/article0/doochio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、服務(wù)器托管、網(wǎng)站內(nèi)鏈、定制開發(fā)、網(wǎng)站導(dǎo)航、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)