1、技术都是为了解决实际问题的,考虑下面的场景: 主线程创建一个子线程,子线程做一些任务,在主线程上,等待子线程完成任务,然后向下运行。代码如下: #include <stdio.h> #include <pthread.h> #include <unistd.h> void* FuncA(void ...
分类:
编程语言 时间:
2017-02-11 20:43:38
阅读次数:
305
java 使用volatile实现线程数据的共享 直接上代码看效果: 效果如下: 如果不加volatile while循环不会停止,因为即使在主线程中setRunning(false) 在子线程中isRunning仍然是true。 在java中,子线程的执行的时候会在内存中划出一个区域,特意把子线程 ...
分类:
编程语言 时间:
2017-02-09 23:57:12
阅读次数:
462
第一章,线程 什么是单线程? 在一个程序中只允许一个主线程(cpu分配的)来执行不同的任务。简而言之就是一个任务一个人独干,在没有干完之前不回去做其他的,直到当前的任务做完。会导致“假死现象”。 例子:我们平时定义的方法及实现,然后普通调用。就是属于单线程操作。 什么是线程? 线程是程序执行流的最小 ...
分类:
编程语言 时间:
2017-02-07 14:05:18
阅读次数:
191
子线程循环10次,接着主线程循环100次,接着又回到子线程循环10次,接着再回到主线程循环100次,如此循环50次 public class Sub10Main100Loop50Thread { public static void main(String[] args) throws Interr... ...
分类:
编程语言 时间:
2017-02-06 14:54:00
阅读次数:
136
1、基本概念: 1-1、进程: 定义:进程是指系统中正在运行的应用程序。 了解:每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间里。 1-2、线程: 一个进程要想执行任务,必须要有一条线程(即:每一个进程至少拥有一条线程,这条线程便是主线程)。 一个进程中的所有任务都是在线程中执行。 ...
分类:
移动开发 时间:
2017-02-05 15:24:47
阅读次数:
210
在iOS中 如果 在主线程中用这2个 都会 对 主线程 造成 阻塞 具体区别 如下 Linux 中的 代码 为例 函数名: sleep头文件: #include <windows.h> // 在VC中使用带上头文件 #include <unistd.h> // 在gcc编译器中,使用的头文件因gcc ...
分类:
其他好文 时间:
2017-02-04 00:09:17
阅读次数:
197
/* 线程常用的方法: Thread(String name) 初始化线程的名字 setName(String name) 设置线程对象名 getName() 返回线程的名字 sleep() 线程睡眠指定的毫秒数。 静态的方法, 那个线程执行了sleep方法代... ...
分类:
编程语言 时间:
2017-02-02 15:31:39
阅读次数:
210
服务端: 1)多线程处理客户connect。主线程,处理用户输入,二线程处理accpet,每次有新的connect,就建立新线程处理每个客户端。 2)二线程阻塞在accept,其他新线程阻塞在read。 3)当客户端close。服务端对应线程,read得到0. 之后也进行close(这一部上次实验没 ...
分类:
编程语言 时间:
2017-01-30 18:45:18
阅读次数:
303
一、背景 在没有学习Java多线程以前,总觉得多线程是个很神秘的东西,只有那些大神才能驾驭,新年假期没事就来学习和了解一下Java的多线程,本篇博客我们就来从头说一下多线程到底是怎么回事。 二、概述 1.进程的概念 每一个正在运行的程序都是一个进程,它是系统进行资源分配和调用的独立单位。且 每一个进 ...
分类:
编程语言 时间:
2017-01-29 22:12:54
阅读次数:
296
CPU资源消耗的原因和解决方案对象创建轻量对象代替重量对象* 不需要响应触摸事件的控件:CALayer显示* 对象不涉及UI操作,则尽量放到后台线程创建* 包含有CALayer的控件只能在主线程创建和操作* 通过Storyboard 创建视图对象时,其资源消耗会比直接通过代码创建对象要大非常多,在性 ...
分类:
移动开发 时间:
2017-01-26 16:33:45
阅读次数:
249