你這個(gè)不是死鎖,就是flag的判斷有問題,每個(gè)線程都是自己把自己鎖住了,當(dāng)flag為true時(shí),看以下兩段代碼:
成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的覃塘網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
public synchronized void set(String name) {
if (flag)
try {
wait();
public synchronized void out() {
if (flag)
try {
wait();
兩個(gè)線程都在wait,當(dāng)然卡住不動(dòng)了。
看你的代碼,把set那段改成這樣應(yīng)該就好了:
public synchronized void set(String name) {
if (!flag)
try {
wait();
line = bufferedReader.readLine();//死鎖位置
會(huì)等待,所以會(huì)。
用另一個(gè)線程讀、主線程檢測是否命令終止了。
bootstrap-table是在bootstrap-table的基礎(chǔ)上寫出來的,專門用于顯示數(shù)據(jù)的表格插件。而bootstrap是來自 Twitter,是目前最受歡迎的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,具有簡便靈活,快速前端開發(fā)的優(yōu)勢。對與bootstrap在此就不在敘述。本文將著重講解自己在項(xiàng)目中使用到bootstrap-table的一些理解和如何學(xué)習(xí)它。
首先交代一下,jquery ,bootstrap ,bootstrap-table 三者之間的關(guān)系。bootstrap很多部分代碼涉及到了jquery的,也就是說 bootstrap是依賴jquery的,而我們要使用的bootstrap-table則是在bootstrap基礎(chǔ)上創(chuàng)造出來的,所以在使用bootstrap-table之前必須引用 jquery 和bootstrap的相關(guān)js,css文件。
接著說,bootstrap-table的特點(diǎn):與jquery-ui,jqgrid等表格顯示插件而言,bootstrap-table扁平化,輕量級(jí),對于一些輕量級(jí)的數(shù)據(jù)顯示,他是綽綽有余,而對父子表等的支持也很好,最主要的是可以與bootstrap的其他標(biāo)簽無縫組合。