摘要:
Java没有提供任何的安全机制来终止线程,程,虽然Thread.stop和suspend等方法提供了这样的机制,但是存在严重的缺陷,应该避免使用这些方法。 它提供了中断(interrupt),这是一种协作机制,能够使一个线程终止另一个线程当前的工作。 一种协作机制是设置一个“已请求... 阅读全文
摘要:
不使用线程池 1.串行执行任务 class SingleThreadWebServer { public static void main(String[] args) { ServerSocket socket = new ServerSocket(80); while (true) {... 阅读全文
摘要:
多线程访问共享数据时,通常需要同步,一种避免使用同步的方式就是不共享数据。如果仅在单线程里访问数据,那么就不需要使用同步,这种技术被称为线程封闭。 Ad-hoc线程封闭:维护线程封闭性的职责完全由程序实现来承担。 栈封闭:我的理解就是局部变量,局部变量是线程私有的,不会被共享,也就不存在竞争问题... 阅读全文
摘要:
前面通过同步锁来同步任务的行为,两个任务在交替访问共享资源的时候,可以通过使用同步锁使得任何时候只有一个任务可以访问该资源,见博客:线程同步之synchronized关键字。下面主要讲的是如何使任务彼此间可以协作,使得多个任务可以一起工作去解决木某个问题,因为有些问题中,某些部分必须在其他部分被... 阅读全文
摘要:
JAVA线程的可能处于一下几种状态,任意的时间点一个线程只能处于一个状态。 1. 新建状态(New):创建后尚未启动的线程处于这种状态。 转移时机:创建一个新线程。 2. 就绪状态(Runnable):调用了start()方法,该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权... 阅读全文
摘要:
iOS的三种事件:触摸事件/运动事件/远程控制事件 typedef enum {UIEventTypeTouches,UIEventTypeMotion,UIEventTypeRemoteControl,} UIEventType; 只有继承UIResponder类的对象才能处理事件,如UIV... 阅读全文
摘要:
Key Value Coding是cocoa的一个标准组成部分,它能让我们可以通过name(key)的方式访问属性,某些情况下极大地简化了代码,可称之为cocoa的大招。 如下的例子: 使用KVC的好处 不使用KVC - (id)tableView:(NSTableView *)tablevi... 阅读全文
摘要:
1.iPhone尺寸规格 设备 iPhone 宽 Width 高 Height 对角线 Diagonal 逻辑分辨率(point) Scale Factor 设备分辨率(pixel) PPI 3GS 2.4 inches... 阅读全文
摘要:
NSThread 1.显式创建线程调用start开启 NSThread * thread = [[NSThread alloc]initWithTarget:self selector:@selector(run:) object:_url];[thread start];2.隐式创建 [... 阅读全文
摘要:
UIScreen是与设备有关的物理屏幕 Window是一个窗口对应UIWindow类,继承自UIView,window要显示在Screen上必须设置为主窗口并且可见。接下来就可以往UIWindow上面添加一些控件了。 下图就是简单地层次关系 ViewController是用来组织和控制视图的... 阅读全文