java里面本身没有这样的方法, 如果你想实现, 考虑jni本地化调用其他编译语言(如 c/c++, delphi)的dll, 这些语言可以无缝的调用系统sdk api,
10年积累的网站设计、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有哈密免费网站建设让你可以放心的选择与我们合作。
如:ExitWindowsEx(EWX_LOGOFF or EWX_FORCE, 0);
不过Window2000,NT,XP都要先取得SE_SHUTDOWN_NAME权限
import java.util.concurrent.Semaphore;
/**
*
* @author Mi Zhou
*/
public class LibraryDemo {
// 主要在于理解多线程变量共享和互斥的问题
// 这里共享和互斥的变量就是 图书馆的这10个座位
// 我们用信号量 Semaphore 来表示用 10 个座位的这个图书馆
// (如果目前不知道什么是 Semaphore,建议先了解这个概念)
public static void main(String[] args) throws Exception {
// 创建有 10 个许可的信号量(在这里可以理解为图书馆,图书馆最多容纳 10 个人)
Semaphore semaphore = new Semaphore(10);
// 假设有 15 个人来图书馆读书,每个人都在图书馆待 1 秒
for (int i = 1; i = 15; ++i) {
ReaderRunnable rr = new ReaderRunnable(i, 1, semaphore);
new Thread(rr).start();
}
// 查看输出你会发现图书馆最多是同时 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);
}
}
}
点击注销,跳转到后台,去掉当前用户session,然后跳转登录界面。
你要先选择 你想你要注销的那段话
再按 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 + /
效果如下
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; */
都是可以实现你的注销一段话的 两种不同的注释!