多线程Demo1 了解
//  DYFViewController.m//  623-01-阻塞多线程////  Created by dyf on 14-6-23.//  Copyright (c) 2014年 ___FULLUSERNAME___. All rights reserved.//#import "DYFViewController.h"@interface DYFViewController ()@end@implementation DYFViewController- (IBAction)btnOnClick {    // 1.获取当前的线程    NSThread *thread = [NSThread currentThread];         // 2.打印线程    NSLog(@"%@", thread);         // 3.执行一线耗时的操作    for (int i = 0; i < 9999; i++) {        NSLog(@"%@", thread);        // 此时点击按钮,在执行完耗时操作之前,按钮一直是高亮状态,期间用户点击其他的UI控件也不好响应    }}- (void)viewDidLoad{    [super viewDidLoad];    // Do any additional setup after loading the view, typically from a nib.}- (void)didReceiveMemoryWarning{    [super didReceiveMemoryWarning];    // Dispose of any resources that can be recreated.}@end
容易发现,在耗时操作期间,其它UI操作都被延时了,造成用户的卡顿现象
--------创建子线程方法1--pthread
//  DYFViewController.m//  623-02-pthread////  Created by dyf on 14-6-23.//  Copyright (c) 2014年 ___FULLUSERNAME___. All rights reserved.//#import "DYFViewController.h"#import <pthread.h>@interface DYFViewController ()@end@implementation DYFViewController// c语言函数void *run(void *data){    // 1.获取当前的线程    NSThread *cThread = [NSThread currentThread];         // 2.打印线程    NSLog(@"%@", cThread);         // 3.h耗时操作    for (int i = 0; i < 9999; i++) {        NSLog(@"%@", cThread);    }    return NULL;}- (IBAction)btnOnClick {    // 1.获取当前的线程    NSThread *thread = [NSThread currentThread];         // 2.打印线程    NSLog(@"%@", thread);         // 3.执行一线耗时的操作 : 创建一套子线程         pthread_t threadId;    pthread_create(&threadId, NULL, *run, NULL);    }@end
多线程Demo1 了解的更多相关文章
- JAVA多线程的总结
		1-----------------------------------基本概念------------------------------------------------- (1)多线程:一个应 ... 
- Java基础高级二(多线程)
		1.进程和线程的区别:线程是轻量级的,本省不会持太多资源,需要的时候向进程申请 2.线程的状态:创建,可执行,执行中,等待,休眠,阻塞 3.线程状态之间的转换 4.线程API:Thread类,Runn ... 
- java中的多线程
		什么是多线程? 首先得知道什么是线程? 线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行.也可以把它理解为代码运行的上下文.所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务. ... 
- java线程跟多线程
		java创建线程两种方式: 1.继承Thread创建线程 /** * Created by lsf on 16/4/18. */ class NewThread extends Thread { Ne ... 
- java多线程总结
		java中的多线程 一般来说,当运行一个应用程序的时候,就启动了一个进程,当然有些会启动多个进程.启动进程的时候,操作系统会为进程分配资源,其中最主要的资源是内存空间,因为程序是在内存中运行的.在进程 ... 
- Day24_多线程第一天
		1.线程 1.概述 宏观来讲 进程:就是正在运行的程序 线程:就是进程的执行路径,执行单元 2.创建并启动线程的两种方式(掌握) 1.定义一个类继承Thread ... 
- Java多线程系列--“基础篇”11之 生产消费者问题
		概要 本章,会对“生产/消费者问题”进行讨论.涉及到的内容包括:1. 生产/消费者模型2. 生产/消费者实现 转载请注明出处:http://www.cnblogs.com/skywang12345/p ... 
- Java多线程系列--“基础篇”09之 interrupt()和线程终止方式
		概要 本章,会对线程的interrupt()中断和终止方式进行介绍.涉及到的内容包括:1. interrupt()说明2. 终止线程的方式2.1 终止处于“阻塞状态”的线程2.2 终止处于“运行状态” ... 
- java的多线程总结
		在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口. 对于直接继承Thread的类来说,代码大致框架是: class 类名 extends Thread ... 
随机推荐
- Eclipse中同时打开多个Console
			实现方法: 1.点击Open Console案例下拉三角,选择New Console View. 2.点击Pin Console按钮將两个控制台同时固定住. 3.点击Display Selected ... 
- 2014 ACM-ICPC Beijing Invitational Programming Contest
			点击打开链接 Happy Reversal Time Limit: 1000ms Memory Limit: 65536KB 64-bit integer IO format: %lld J ... 
- github 工具命令集
- Windows下配置PHPUnit(pear已弃用,使用phpunit.phar)
			一.配置PHPUnit 首先到PHPUnit官网(点此进入)下载相应的版本.php 5.5及以下版本请使用PHPUnit 4.8.得到 .phar 文件,并把名字改为 phpunit.phar . 把 ... 
- Retina屏幕下image-set
			实现Retina屏幕下图像的显示方法,还特别给我截取了一段代码: .soso .logo .qqlogo { display: block; width: 134px; height: 44px; b ... 
- Jmeter创建一个简单的http接口用例
			1.新建线程组 添加->Threads(Users)->线程组 线程组用来模拟用户进程. 2.添加http信息头管理器 添加->配置元件->http信息头管理器 Systemi ... 
- legend2---开发日志12(vue如何进一步学习)
			legend2---开发日志12(vue如何进一步学习) 一.总结 一句话总结:还是得找教程(比如视频),自己摸索太浪费时间,也容易踩坑和抓不住重点 还是得找教程(比如视频),自己摸索太浪费时间,也容 ... 
- Java 发送Get和Post请求
			package com.htpt.superviseServices.dm.util; import java.io.BufferedReader; import java.io.IOExceptio ... 
- liunx环境下安装tomcat
			第一:下载tomcat的安装包 
- SIP呼叫流程典型流程图解及其详细解释
			目录(?)[+] 1.注册流程: 2.注销流程: 3. 基本呼叫建立过程: 4. 会话更改流程: 5. 正常呼叫释放过程: 6. 被叫忙呼叫释放: 7.被叫无应答流程一: 8.被叫无应答流程二: ... 
