Java多线程编程
KennyBiggerJava
这个作者很懒,什么都没留下…
展开
-
Java多线程1:进程与线程
1.什么是进程?进程是操作系统结构的基础,是一次程序的执行,是系统进行资源分配和调度的一个独立单位。 这个解释有点懵了。简单来讲就是一个正在操作系统中的运行的exe程序就是一个进程。2.什么是线程?线程可以理解为是在进程中独立运行的子任务。比如:酷狗音乐.exe运行时,就会有很多子任务在同时运行,包括下载歌词线程,直播线程等3.线程的优点可以在同一时间内运行更多不同种类的任务,比如作为程序员,我们原创 2017-06-06 22:48:13 · 416 阅读 · 0 评论 -
Java多线程2:Thread常用方法
currentThread()currentThread()方法可返回代码段正在被哪个线程调用的信息。 Thread.currentThread().getName();Example:class MyThread1 extends Thread { MyThread1(){ System.out.println("执行构造函数"+Thread.currentThread(原创 2017-06-11 18:02:59 · 426 阅读 · 0 评论 -
Java多线程3.1:synchronized同步方法
本文主要介绍Java多线程中的同步,也就是如何在Java中写出线程安全的程序,如何在Java语言中解决非线程安全的相关问题。非线程安全什么是非线程安全?非线程安全是指多个线程对同一个对象中的实例变量进行并发访问时发生,发生的结果就是脏读,也就是取到的结果其实是被更改过的,而线程安全就是以获得的实例变量的值是经过同步处理的,不会出现脏读的现象。方法内的变量为线程安全非线程安全问题存在于”实例变量”中,原创 2017-06-12 14:55:44 · 522 阅读 · 0 评论 -
Java并发编程的挑战
Java并发编程的挑战 如果希望通过多线程来让任务执行的更快,将会面临上下文切换频繁,死锁,资源限制(硬件和软件)等问题 1.上下文切换 CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到另一个任务,但是,在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这个任务的状态。所以任务从保存到再加载的过程就是一次上下文切换。 上下文切换会影响多线程的执...原创 2018-04-14 22:52:26 · 326 阅读 · 0 评论