java線程的使用(Runnable)


在實際項目開發過程中,線程是經常要用到的,特別是為了不影響項目的運行效果。

以下就以實際項目中的簡單例子來介紹:

public class SystemRedisInfoController extends implements Runnable {
    
    @RequestMapping(value = "/flushRedis")
    public void deleteAll(HttpServletRequest request, HttpServletResponse response) throws ManagerException{
        //清空左側樹配置、通知緩存
        SystemRedisInfoController imp = new SystemRedisInfoController();
        Thread thread = new Thread(imp); thread.start();
    }
    @Override
    public void run() {
        //逐一刪除對應的左側樹緩存和通知通告
        List<User> userList = userManager.findAll();
        try {
            Jedis jedis = new Jedis();
            for (User user : userList) {
                String userId = user.getId();
                String zcsKey = Finals.JEDIS_ZCS.concat(userId);
                String tzKey = Finals.JEDIS_TZ.concat(userId);
                jedis.del(zcsKey.getBytes());
                jedis.del(tzKey.getBytes());
            }
        } catch (Exception e) {
            System.out.println("緩存未連接!");
        }
    }
}

在運行的方法中創建線程,需要該類實現(implement)Runnable接口,然后紅色字體部門就是創建線程,通過start方法啟動線程,執行run方法。

run方法是實現接口之后需要寫的方法,在這里進行線程中的部分。

值得注意的是:如果需要傳參,可以聲明一個全局變量,然后執行方法的時候給全局變量賦值,該全局變量聲明為static,在run方法中就可以接收到參數的值了。

如果以上能夠解決就不用考慮線程加鎖的問題。如果在執行run方法時一些方法報錯了,那么就需要用到的概念了,詳情見下一篇。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM