更加着重于坏处。。
解决方案 »
- java的try catch的问题
- 大家帮忙看下,这个别的类中的方法究竟执行了没。在线等。
- 有没有办法编程获得某个进程读取IO的次数和字节数?
- jni的错误怎么看?高人指导一下
- 用winrar打包EXE文件时,怎么不能成功呢?
- 请问各位大师,tomcat适合多大的项目啊,或者说。。。。
- 问个小问题:要是PrintWriter关闭了,OutputStream会给关闭吗?
- 关于连续访问数据库,这个问题怎么有时好有时出错?
- 高手教我怎样才能取得一个字符串的“像素长度” 包括中文和英文大小写各种情况。
- 多列表监听(求救)
- 一场IBM面试题引发的讨论:创建String对象过程中【内存分配】的终极权威详尽解释
- Core java,Thinking in java,Effective java,Java Puzzlers
好处:一定程度上提高响应速度,在多核的情况下还是更能充分利用CPU资源的。
打比方就是你在烧开水,然后马上去上网了。这个时候其实你是在等开水开了之后你在去倒,而不是一直做着等开水开了再去上网。这样其实时间片的利用率就高了。优势就在这里。对于cpu而言,由多线程带来的共享冲突这个是最大的坏处。很多问题都是由于这个问题或者是为了解决这个问题而引起的一系列的问题导致的。比如今天你在单核的机子上同时拷两个大文件这样,其实还不如你一个一个文件拷来的快。就是我说的第二种情况,因为cpu的资源切换也是要消耗时间的。
同样的共享冲突也会是个问题。比方:学校里有块黑板报,今天我写了个“1”,明天有个捣蛋的把它改成了“2”,这样信息已经不是我们期望的值了。当然我们会提出一系列的措施来杜绝此类事的发生,比如给黑板报加个框,并上锁,这个钥匙只归我所有,这样只能我进行信息修改,如果别人也想改必须也要获得此钥匙!这就是解决多线程共享的锁机制!