老师 为什么我这边赋值了 socket还是为null?
public class YieldThread implements Runnable{ boolean flag = true; @Override public void run() { int i=0; System.out.println(Thread.currentThread().getName()+" 线程开始"); while(flag) { System.out.println(Thread.currentThread().getName()+" "+i++); } System.out.println(Thread.currentThread().getName()+" 线程结束"); } public void stop() { flag = false; } public static void main(String[] args) { System.out.println(Thread.currentThread().getName()+" 主线程开始"); YieldThread yt = new YieldThread(); Thread t = new Thread(yt); t.start(); for(int i=0;i<20;i++) { System.out.println(Thread.currentThread().getName()+" "+i); if(i==15) { yt.stop(); } } System.out.println(Thread.currentThread().getName()+" 主线程结束"); } }
当主线程的值等于15时结束,为什么还会在运行一次子线程的循环?,是不是当子线程处于就绪状态时,无法修改flag的值?
fileWriter.write("你好,老师\r\n");
视频中说到换行要用\r\n,好像\n可以直接完成换行啊?
拷贝后为什么目的文件比源文件大
而且打开后是乱码,应该用什么软件打开,调成什么格式。如果可以的话,可以把需要的软件发给我吗?
老师,设置线程名字可以通过构造方法和Setname()方法,蓝色方框也是设置线程名字的一种方法是吗?
红色方框可以输入数字吗?表示优先级。
public class FileReaderDemo { public static void main(String[] args) { FileReader frd = null; try { frd = new FileReader("d:/a.txt"); int temp = 0; while((temp = frd.read()) != -1){ System.out.println((char)temp); } }catch(Exception e){ e.printStackTrace(); }finally{ try{ if(frd != null){ frd.close(); } }catch(Exception e){ e.printStackTrace(); } } } }
输出结果:
这是为啥?只有abc的时候是正常的,加了我是中国人之后就这样了
如果不用char强转输出结果是这样的:
try { //注意,关闭流顺序,后开先关。 fis=new FileInputStream("F:/Java/sb.PNG"); bis=new BufferedInputStream(fis); fos=new FileOutputStream("F:/Java/s.png"); bos=new BufferedOutputStream(fos); //缓冲流中默认的byte数组长度为8192 int temp=0; while((temp=bis.read())!=-1){ bos.write(temp); } bos.flush(); }catch (IOException e){ e.printStackTrace(); }finally { try { if (bis != null) { bis.close(); } if (fis != null) { fis.close(); } if (bos != null) { bos.close(); } if (fos != null) { fos.close(); }
先开后关的话,那关闭顺序不是bos,fos,bis,fis吗?
老师,这个在主线程的睡眠是让哪个子线程睡眠?
老师不是后开先关么,bos和fos在bis和fis后面开的,为什么关闭时先关闭bis和fis?
老师绝对路径和相对路径是啥意思
老师,为什么在主线程休眠判断线程是否存活是false,而在子线程休眠判断是true?
这里public static MyInteger valueOf()和public static void valueOf()有啥区别啊
老师,主线程与A线程联合后,那B线程是怎么运行的
老师,sleep()和yeid()哪个比较常用?
/** * 放馒头 */ public synchronized void push(ManTou manTou){ while(this.index == this.mt.length){ try{ this.wait(); }catch (InterruptedException e){ e.printStackTrace(); } } this.notify(); this.mt[this.index] = manTou; this.index++; } /** * 取馒头 */ public synchronized ManTou pop(){ while(this.index == 0){ try { this.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } this.notify(); this.index--; return this.mt[this.index]; }
老师,我想问下执行完notify之后,是把当前线程的对象锁移交给在就绪状态使用相同对象锁的另一个线程吗?那么当前线程中的有关对象里的属性还能继续使用么,比如push方法在执行notify()后,SyncStack类的对象ss中的mt数组和index变量还有值么?唤醒之后push方法后面的代码还继续执行吗?还是直接到pop()中执行?为什么?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637