- 博客(99)
- 收藏
- 关注
转载 objc.io#19#与调试器共舞 - LLDB 的华尔兹
你是否曾经苦恼于理解你的代码,而去尝试打印一个变量的值?1NSLog(@"%@", whatIsInsideThisThing);或者跳过一个函数调用来简化程序的行为?1NSNumber *n = @7; // 实际应该调用这个函数:Foo();或者短路一个逻辑检查?1if&a
2018-07-30 16:13:39 341
原创 macOS dark model
获取当前系统是否为dark model NSDictionary *dict = [[NSUserDefaults standardUserDefaults] persistentDomainForName:NSGlobalDomain]; id style = [dict objectForKey:@"AppleInterfaceStyle"]; bool ...
2018-07-19 15:22:59 606
转载 iOS 判断当前网络状态的三种方法
iOS 判断当前网络状态的三种方法 时间:17-11-03 15:00:33 点击:11230 来源:萝莉与我 在项目中,为了好的用户体验,有些场景必须线判断网络状态,然后才能决定改干嘛。比如视频播放,需要线判断是Wifi还是4G,Wifi直接播放,4G先提示用户。获取网络状态的方法大概有三...
2018-07-17 08:51:24 255
转载 Cocoa: child Window in center of Main window
Solution A: before showing the child, set its frame to the appropriate position in the middle. If the user moves the main window, adjust the child as well.Solution B: make the child window with the ...
2018-07-16 08:57:30 209
转载 Docker可视化监控
原 Docker可视化监控?看这篇文章 <div class="article-info-box"> <div class="article-bar-top d-flex"> &l
2018-07-16 08:56:46 477
原创 如何防止一块内存被交换到disk
Mlock/mlockall/munlock To prevent a region of memory from being swapped to disk, use the following call:r = mlock( ptr , size );
2018-07-16 08:54:02 506
原创 SSH代理
Network topology反向代理Lan PC 可以ssh到Internet上的PC, 但是Internet上的PC不能ssh到Lan PC.如果想internet上PC能够ssh到lan PC, ssh 反向代理的解决办法:1. 在lan PC上执行如下命令:$ ssh wanuser@13.121.57.154 -R 21436:127.0.0.1:222. 在Int...
2018-07-16 08:51:10 236
原创 替换NSTextView的某个字符串
替换NSTextView的某个字符串 NSString *textContents = [[self.textView textStorage] string]; NSRange replaceRange = NSMakeRange(0, [self.textView.textStorage length]); NS...
2018-07-16 08:47:16 342
原创 窗口中下挂一个另一个窗口
窗口中下挂一个alert窗口 NSAlert *alert = [[NSAlert alloc] init]; [alert addButtonWithTitle:@"Yes"]; [alert addButtonWithTitle:@"No"]; [alert setAlertStyle:NSWarningAlertStyle]; ...
2018-07-15 18:20:01 186
原创 子窗口放在主窗口的中间
如何将子窗口放在主窗口的中间,覆盖主窗口 NSRect mainFrame = ((AppDelegate *)[NSApp delegate]).mainWindowController.window.frame; NSRect myFrame = [self.window frame]; NSPoint newOriginPoint; ...
2018-07-15 18:08:41 328
转载 国内最流行且免费的11个服务器监控工具
国内最流行且免费的11个服务器监控工具,拿走不谢! 作者: 水淼 日期: 2017-03-28 09:00:43 人气: 3...
2018-07-15 18:03:23 61001 5
原创 进程/线程的CPU/MEM/NET使用控制
Linux系统提供Control Group(CGrop)这个Feature控制系统资源在不同服务间的分配。
2018-07-15 18:01:03 219
原创 socket 端口重用
使用SO_REUSEADDR选项, 处于TIME_WAIT状态(还有其他情况导致端口资源还没完全释放)的socket的端口可以被立即重用。
2018-07-15 18:00:21 1594
原创 单个进程中最大允许的线程数
1. 与系统资源相关,即线程栈的大小 a) 线程栈默认大小可以通过‘ulimit -s’查看,通常这个值是8M。如果用户修改了该值,则可以查看’/proc/self/limits’获取该进程相应的值 (其实是需要考虑线程栈和guard page的size)b) 在32系统上用户空间大小为3G,3 * 1...
2018-07-13 09:46:52 3910
原创 socket Select/Poll/EPoll
Select Poll Epoll 一个进程所能打开的最大连接数 单个进程所能打开的最大连接数有FD_SETSIZE宏定义 poll本质上和select没有区别,但是它没有最大连接数的限制,原因是它是基于链表来存储的 虽然连接数有上限,但是很大 FD剧增后带来的IO效率问题 因为每次调用时都会对连接进行线性遍历,所以随着FD的增加会造成遍历速度慢的“线性下降性能问题 同sele...
2018-07-13 09:46:20 134
原创 控制进程/线程只在某个/某些进程上运行.
sched_getaffinity / sched_setaffinity控制进程/线程只在某个/某些进程上运行.
2018-07-13 09:45:40 127
原创 进程和线程的区别
进程和线程的区别 (待完善)1. 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。2. 进程作为分配资源的基本单位,而把线程作为独立运行和独立调度的基本单位。由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并发执行的程度。3. 一个进程...
2018-07-13 09:45:33 95
原创 Linux中的内存管理
内存管理中的overcommit1. 什么是overcommitLinux calls this overcommit, which refers to the fact that thekernel allows a process to allocate more memory than is currently available.The kernel is effectively...
2018-07-13 09:45:26 285
原创 Linux守护进程编写规范
编写规范1. 调用umask将文件模式创建屏蔽字设置为0.2. 调用fork,然后使父进程退出3. 调用setsid以创建新的会话4. 将当前工作目录更改为根目录5. 关闭不再需要的文件描述符6. 某些守护进程打开/dev/null使其具有文件描述符0, 1和27. 用户可以选择屏蔽部分信号...
2018-07-13 09:44:49 124
原创 线程优先级
线程优先级1. 首先,线程的优先级与进程的优先级有关。???2. 可以通过线程的相关属性设置/修改线程的调度策率和优先级:pthread_getschedparam / pthread_setschedparam / pthread_setschedprio...
2018-07-13 09:44:34 301
原创 进程栈; 线程栈
1. 每个线程都有一个栈;2. 进程中各个线程的栈是共享的 (从用法上来讲,每个线程有一个独立的栈, 但是从linux内存管理上讲, linux不能以线程为单位管理内存; 一个线程可以访问另一线程的栈内容,而MMU不会报错.)3. Linux在设计时贯彻一个”早死早超生”的原则, 他会检测正常的栈越界. 正常的栈越界是慢慢地,循序渐进地, linux内核在两个线程的栈...
2018-07-12 09:38:44 714
原创 设置线程退出时的回调函数
This is done by specifying one ormore functions that will be called automatically by the pthreads library whenthe thread exits, either due to its own will (e.g. calling pthread_exit()), ordue to it be...
2018-07-12 09:38:38 1283
原创 线程私有数据
线程私有数据是存储和查询与某个线程相关的一种机制。一个明显的实例就是errno, 一个线程做了设置errno的操作并不会影响进程中其它线程的errno值。API pthread_key_create man pthread_key_create pthread_key_delete pthread_once pthread_getspecific pthread_sets...
2018-07-12 09:38:27 114
原创 线程属性
在创建线程前可以设置该线程的属性,可设置的属性有:(线程默认的属性是:detachstate is PTHREAD_JOINABLE, scheduling policy is SCHED_OTHER, nouser-provided stack)1. 线程的分离状态(detachstat), 如果设置为分离状态,则不能接受pthread_join.2. 线程栈的位置...
2018-07-12 09:38:18 319
原创 进程中可以创建线程的最大个数
1. 首先,不同的系统,线程的最大个数的定义不同。2. 线程个数与每个线程所占空间有关系。线程所占空间首先看栈空间的大小。3. 线程栈空间可以通过’ulimit –s’ 查看和修改。4. 虚拟内存空间可以通过’ulimit –v’查看和修改。5. 线程最大个数的计算:Linux虚拟内存空间大小(3G) / 线程栈空间的大小。6. Li...
2018-07-12 09:38:12 1163
原创 线程间通信
锁机制互斥锁同一时间只有一个线程访问数据。互斥锁采用pthread_mutex_t数据类型表示,常用API包括:API pthread_mutex_init pthread_mutex_destroy pthread_mutex_lock pthread_mutex_trylock pthread_mutex_unlock 读写锁读写锁有三个状态:读模式下加锁状...
2018-07-12 09:37:05 89
原创 进程间通信与同步
环境变量 http://www.tldp.org/LDP/lpg/node7.html 管道/有名管道 管道用于具有亲缘关系的进程间通信。有名管道除具有管道的功能外,它还允许无亲缘关系的进程间的通信。管道和有名管道均为半双工的通信方式。管道只能承载无格式字节流以及缓冲区大小受限。1. 管道a) Pipeb) fopen2. 有名管道a) ...
2018-07-12 09:36:59 106
原创 进程优先级/进程调度策略
http://www.cnitblog.com/flutist1225/articles/19989.html 如何查看/设置/调整进程的优先级1. 查看:ps –l xxx2. 设置:nice3. 调整:renice4. 修改为实时进程: chrt进程的nice值不是进程的优先级,他们不是一个概念,但是进程nice值会影响到进程的优先级变化。 5. ...
2018-07-12 09:36:50 1929
原创 进程创建/进程的终止
进程创建fork函数1. 对于fork函数,父进程中返回子进程的pid,因为父进程可能有多个子进程,但没有一个系统调换可以获取所有子进程的pid; 子进程中返回0,因为一个进程只能有一个父进程,可以通过getppid获取父进程的pid.2. 对于fork函数,子进程获得父进程的数据段,堆,栈的副本。父子进程共享正文段。子进程中需要复制的内容并不会被立即完全复制,而是采用...
2018-07-12 09:36:39 214
原创 ubuntu 搭建Hadoop,hive,zookeeper详细步骤
Hadoop installStandalone operationStep #1, install1. Install VMWare ESXi 6.0,vSphere Client.2. Install Ubuntu 16.04 (ubuntu-16.04.1-desktop-amd64.iso)3. Install rsync, openssh-server,x1...
2018-07-12 09:36:00 468
原创 文件IO
1. 标准文件fd: 0, 标准输入;1, 标准输出; 2: 标准错误2. 进程所有打开的fd可以在/proc/pid/fd中查看;3. 常用文件操作函数:open, read, write, close, lseek, ioctl4. 创建临时文件: mktemp5. 文件空洞...
2018-07-11 15:16:34 106
原创 原子操作/可重入函数/线程安全函数
原子操作原子操作是由多个步骤组成的操作。如果该操作原子的执行,则要么执行完所有的操作,要么一步也不执行。可重入函数 在实时系统的设计中,经常会出现多个任务调用同一个函数的情况。如果这个函数不幸被设计成为不可重入的函数的话,那么不同任务调用这个函数时可能修改其他任务调用这个函数的数据,从而导致不可预料的后果。那么什么是可重入函数呢?一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在...
2018-07-11 15:15:45 305
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人