您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 股票报告 > Java核心组件部分知识点
Java课程Phase3目录Java课程...........................................................................................................................................1Phase3......................................................................................................................................12016-06-02........................................................................................................................................2Android中的多线程应用.........................................................................................................2往期回顾...........................................................................................................................2线程基础...........................................................................................................................2线程对象的创建...............................................................................................................3线程对象的状态及常用方法...........................................................................................3线程同步...........................................................................................................................4关于内部类的问题...........................................................................................................42016-06-03........................................................................................................................................7线程通讯-线程同步协作....................................................................................................7线程通讯应用-前提/实现................................................................................................7单例模式...........................................................................................................................7回顾-静态修饰符详解static......................................................................................82016-06-06........................................................................................................................................9FAQ?..........................................................................................................................................9Android线程通讯的消息模型.................................................................................................9消息对象的伪代码实现...........................................................................................................9Android中线程通讯的实现–借助消息模型.....................................................................10线程消息模型FAQ.................................................................................................................10Android中的HandlerThread{}类...........................................................................................102016-06-07......................................................................................................................................10往期回顾:android中的线程应用机制?线程通讯机制?消息模型架构?....................10线程方法应用介绍.................................................................................................................11异步任务AsyncTask...............................................................................................................112016-06-02Android中的多线程应用往期回顾1.Android数据存储a)内存b)外存(内置sdcard,外置sdcard,网络)2.AndroidUI操作a)UI是系统(App)对外的窗口b)UI负责与用户进行交互所有的UI操作以及事件处理操作都应该放在主线程执行;所有的耗时操作都应该在子线程操作;3.Android中的线程应常用的线程操作模式:工作线程进行耗时操作,操作数据,并将操作完成的数据结果传递给主线程,由主线程更新UI。FAQ?a)何为线程?b)何为工作线程?何为主线程?c)工作线程如何将数据传递给主线程?-线程通讯!!线程基础何为操作系统?a)操作系统是软件;b)作用为负责管理和调度硬件,并为应用软件的执行提供平台支持;操作系统分为单任务、多任务操作系统:单任务操作系统:DOS;-同一时刻只能执行一个任务多任务操作系统:Windows,Linux,Unix,IOS;-同一时刻可执行多个任务;Android底层系统是Linux.所谓多任务即同一时刻可执行多个任务,即能够并发执行多个任务,但多个任务是否能够同时执行仍取决于CPU的个数即核数。对于单CPU而言,仅有一个处理器轮询多个任务,但轮询时间极短,宏观上看上去感觉像是多个任务(即应用程序)同时进行,但实际上每个时间片段仅执行一个任务。何为进程?正在运行的程序都是进程;Windows平台下进程表现为”.exe”程序;(没有运行的程序不是进程);操作系统中所有的任务都是运行在其对应的进程中的;进程由操作系统进行创建、启动并管理;操作系统在启动进程时率先启动一个主线程(即主任务);主线程负责执行任务,主线程中可以调用其他的任务(即子线程)。此处,进程即为应用程序,线程为应用程序中的任务,可有多个,但仅有一个主线程,其他的均为子线程。何为线程?线程是进程中的一个顺序执行流(即一个线程内的所有操作都是顺序执行的),一个进程可以有多个线程,其中肯定有一个是主线程,主线程之外的其他线程通称为工作线程(子线程);Java中所有的线程类型为Thread类型。线程对象的创建Java中的线程对象的创建需要借助Thread{}类,构造方法如下:a)Thread()-需要重写Thread{}类的run()方法,在此方法中执行业务代码。b)Thread(Runnabletask)-重写实现了Runnable{}接口中的run()方法;在此方法中执行业务逻辑;线程的启动通过调用线程对象的start()方法来实现。多线程并发执行,可以提高系统的处理效率,同时也会增加系统的维护和调试难度。线程对象的状态及常用方法1.新建状态(newThread())2.就绪状态(线程处于可运行状态,可以获得CPU的资源(但能否获得CPU资源仍需由CPU属性及当前状态决定))3.运行状态(正在执行线程的run()方法)4.阻塞状态(例如调用了sleep(longtimeMillisecond)方法,或者执行IO操作);如:scanner.nextLine();5.死亡状态(线程运行结束后被销毁的状态,destroy()方法)6.常用方法start;run;sleep;interrupt;setDaemon;join;yield;getName;setName;currentThread;isAlive;setDaemon(trueorfalse)设置当前线程是否为守护线程(当进程中无任何线程执行时,该线程终止);join(longtimeMillis)设定某一线程优先执行;设定时间参数表示让该线程优先执行一段时间后,继续之后后面的代码;若不设定时间,则指仅当该线程执行完成后,方可执行后面的代码;yield()让出cpu,但线程仍处于就绪状态;线程同步定义:多个线程并发执行时,在共享数据集上的互斥与协作。线程同步时保证线程安全的手段。例如多个线程同时售卖共同的100张票;使用synchronized关键字,保证在某一时刻只能有一个线程在此代码块上执行。多个线程在当前代码块按顺序执行。方法一:使用同步代码块,即在run()方法中,将共同使用的数据使用synchronized(对象锁){执行代码,内含共同使用的数据}修饰;此处“对象锁”可以使用this,非静态类中表示该类的对象,如果该类为静态类,则表示
本文标题:Java核心组件部分知识点
链接地址:https://www.777doc.com/doc-2881130 .html