ruby-thread/process

thread

a = 1
threads = []
mutex = Mutex.new

5.times do
  threads << Thread.new do
    1000.times do
      mutex.synchronize{
        a = a + 1
      }
    end
  end
end

threads.each{ |t| t.exit }  # t.kill
threads.each{ |t| t.join(10) }
puts a

process基于unix

process = []

5.times do
	process << Process.fork do
		puts "Chile do hard work. #{Process.pid}:#{Process.ppid}"
		sleep 10
	end
end

#puts "I have child"
process.each{ |pid| Process.wait(pid)}
时间: 2024-10-14 00:59:12

ruby-thread/process的相关文章

执行yum提示错误:rpmdb: BDB0113 Thread/process 424227/139826856310848 failed

[问题]在执行yum安装或者其他命令时,有如下提示: [解决办法:重新构建rpm数据库] [root@cly ~]# cd /var/lib/rpm [root@cly rpm]# ls Basenames __db.001 __db.003 Group Name Packages Requirename Sigmd5 Conflictname __db.002 Dirnames Installtid Obsoletename Providename Sha1header Triggername

Python thread &amp; process

线程 点击查看 <- 进程 点击查看 <- 线程与进程的区别 线程共享内部空间:进程内存空间独立 同一个进程的线程之间可以直接交流:两个进程之间想通信必须通过一个中间代理 创建新线程很简单,占用资源较少:创建新进程是对父进程的克隆,会占用很多资源 一个线程可以控制和操作同一进程里的其他线程:但是进程只能操作子进程 修改父线程可能会影响到进程下其他线程的行为:但是修改父进程对子进程没有任何影响 线程过多会使 CPU 切换过于频繁,降低运行效率:进程过多会占用大量资源 协程 点击查看 <-

yum源出问题,rpmdb: BDB0113 Thread/process 17276/140338032428864 failed: BDB1507 Thread died in Berkeley DB library

yum源出问题 cd /var/lib/rpm rm -f *db.* rpm --rebuilddb 重构了之后就可以用了 原文地址:https://www.cnblogs.com/gered/p/12008684.html

g++4.8.2的thread问题

c++11支持多线程,底层还是使用的lphtread,所以编译的时候需要加上相关的一些参数. 下面是我使用codeblokcs编译成功的例子 第一行是编译参数  需要 -std=c++11  lpthread 第二行是链接参数   需要 -Wl,--no-as-needed  -lpthread -------------- Build: Debug in thread (compiler: GNU GCC Compiler)--------------- g++ -Wall -fexcepti

从头开始安装redmine项目管理软件

redmine是采用ruby语言基于rails架构写的一款稳定高性能项目管理服务器,这里记录一下完整的安装过程. 注意:所有的操作都在普通用户中进行,不要使用root用户,如果需要高级别权限可以sudo命令执行. 第一步:安装RVM软件,参考链接:http://www.rvm.io/ RVM称作Ruby Version Management,用于管理RUBY的版本功能,可以实现自动安装.可以输入rvm回车查看支持的命令,rvm list known 可以查看当前支持的版本.[[email pro

mysql之show engine innodb status解读(转)

add by zhj: 我第一次知道这个命令是线上服务出了问题,然后同事用这个命令去查看死锁.但用这个命令看死锁有一定的局限性,它只能看到最后一次死锁, 而且只能看到死锁环中的两个事务所执行的最后一条语句(即被死锁卡住的那条语句),看不到整个死锁环,也看到不整个事务的语句.但是即使这亲,对我 们来说也非常有用,因为一般来说,数据库同时存在多个死锁环的可能性比较小,而且有了死锁环中的事务的最后一条语句,我们找到整个死锁环不是太难. "show engine innodb status"这

误删除innodb ibdata数据文件-之恢复

今天在群里看到有人说不熟悉innodb把ibdata(数据文件)和ib_logfile(事务日志)文件误删除了.不知道怎么解决.当时我也不知道怎么办.后来查阅相关资料.终找到解决方法.其实恢复也挺简单的.我们不知道的时候就觉得难了.谁说不是这样呢? 下面我们就来模拟生产环境下,人为删除数据文件和重做日志文件.然后详细说明恢复步骤. 1.用sysbench模拟数据的写入,如下所示: [[email protected] ~]# sysbench --test=oltp --oltp-table-s

MySQL5.6.12 Waiting for commit lock导致从库hang住的问题剖析

nagios报警,线上一台从库检测不到slave状态,于是远程上去查看问题: 1,show slave status\G卡住: Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show slave status\G show slave status卡住了,动弹不了,这种情况还是第一次遇到. 2,看w负载无压力: [root@tmp3_72 ~]# w 13:23:31 u

Innodb后台线程

1.maste thread 负责将缓冲池中的数据异步刷新到磁盘,保证数据的一致性. 2.IO Thread负责IO请求的回调处理.1.0版本之前有4个IO Thread,负责write.read.insert buffer和log IO Thread1.0.x开始,read thread和write thread分别增加到4个,不再使用innodb_file_io_threads参数,而是使用innodb_read_io_threads和innodb_write_io_threads mysq

消息队列实现订单异步提交

what MSMQ(Microsoft Message Queue),微软消息队列,用于应用程序之间相互通信的一种异步传输模式.应用程序可以分布在同台机器上,也可以分布于互联的网络中的任意位置.基本原理:消息发送者把要发送的消息放入容器,也就是Message(消息),然后保存到系统公用空间的消息队列中(Message Queue)中,本地或互联位置上的消息接收程序再从队列中取出发给它的消息进行处理.消息类型可以是文本,图像,自定义对象等.消息队列分为公共队列和私有队列. why 一.用于进程间的