java线程总结(一)

    这周有许多杂事干扰,导致自己没有提前做完作业,今后最好合理安排时间,不要任务压到最后;还有就是书要看起来,目前有太多的书挤压在身边,翻都没有翻过,做一个高效的人真不容易,此外还有学会和大家多沟通,

    我想做个线程系列的总结,在写的过程中把概念弄懂,此外还能够应付一下java提高班的作业。 java的线程是个挺大的内容,网上对java的总结也都非常完善,不过别人的总不是自己的,看过就容易忘记,还有就是别人对线程,进程的讲解大多也仅限于java语言方面,而没有从一个更高的高度来讲解,我这边正好有一些资料,想着求精而不贪多的态度,写上一些给自己看看,而不要总是记流水账好了。

    并发和并行:

    并发程序是问题域中的概念--程序需要设计成能处理多个同时(或者几乎同时中)发生的事), 这些事是不同的事。
    并行是方法域中的概念——通过将问题中的多个部分并行执行,来加速解决问题。
    令一种等价的说法是:
    并发是一同一时间应对多件事的能力; 并行是同一时间做多件事的能力。

    举个例子:

web服务器响应众多的请求,把它认为是并发比较好,因为每个服务的业务逻辑一般不同,是处理不同的事情,即问题本身就是有许多,需要分别处理。

而客户端多线程下载文件可以认为是并行,因为多线程只是把一个文件分成了若干个部分,每个线程分别下载一段,再拼起来,这样做是为了加速问题的解决。

    当然,我们无需对这2个概念做严格的区分,因为很多时候,他们本来就是混在一起的。

    线程与锁

public class HelloWorld {

  public static void main(String[] args) throws InterruptedException {
    Thread myThread = new Thread() {
        public void run() {
          System.out.println("Hello from new thread");
        }
      };
	  
    myThread.start();
    Thread.yield();
    System.out.println("Hello from main thread");
    myThread.join();
  }
}

    上面代码中的yield()的功能是主线程让步(当前线程想要让出对处理器的占用),不过即使主线程让步后,操作系统(还是虚拟机?)还是可能会执行同一个线程,因此输出的结果可能是:

Hello from main thread
Hello from new thread      
    也可能是

Hello from main thread
Hello from new thread 

    参考文献

    《七周七并发》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值