我在分析过去的OS考试问题时遇到了麻烦.它如下:
描述以下程序的输出.是否存在竞争条件?
int count=0;
int main(void)
{
pid_t pid;
if( (pid = fork()) < 0)
{
perror("Fork error");
exit(1);
}
else if( pid == 0)
{
charatatime("Output 1\n");
}
else
{
charatatime("Output 2\n");
}
printf(“Count = %d”,count);
exit(0);
}
static void charatatime(char * str)
{
char * ptr;
int c;
for(ptr = str; c = *ptr++; )
{
count++;
putc(c, stdout);
}
}
Run Code Online (Sandbox Code Playgroud)
在C和比赛条件方面我不是那么好,所以我的答案主要是猜测.但是如果我在考试中看到这个,我会说"程序将一个进程分成一个父进程和子进程;子进程打印'Output1',父进程打印'Output2',一次一个字符.然后总数在程序结束时打印字母;但是,这个变量'count'可能不准确,因为孩子和父母之间存在竞争条件.任何时候都可以访问和更新计数,这可能导致不准确."
根据我的理解,当两个或多个线程或进程尝试访问或设置相同的共享变量时会出现竞争条件,而我在此程序中可以看到的唯一事件是"计数".我是否接近正确,如果没有,可以添加到该程序中以创建竞争条件(假设,当然;我知道这不是我们想要做的)?
我刚刚开始使用Perl,并编写了一个简单的脚本来进行Web抓取.我正在使用WWW :: Mechanize和HTML :: TreeBuilder完成大部分工作,但我遇到了一些麻烦.我有以下HTML:
<table class="winsTable">
<thead>...</thead>
<tbody>
<tr>
<td class = "wins">15</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
我知道有些模块可以从表中获取数据,但这是一个特例; 并非我想要的所有数据都在表格中.所以,我尝试过:
my $tree = HTML::TreeBuilder->new_from_url( $url );
my @data = $tree->find('td class = "wins"');
Run Code Online (Sandbox Code Playgroud)
但是@data空了.我知道这个方法可以在没有类名的情况下工作,因为我已成功解析数据$tree->find('strong').那么,是否有一个模块可以处理这种类型的HTML语法?我浏览了HTML :: TreeBuilder文档并没有找到任何看似的内容,但我可能错了.
我对Bootstrap很新,并且在使用push和更改元素的对齐方面存在问题pull.这是小屏幕尺寸(xs及以上)的理想结果:
-------------------
| Search |
-------------------
| Directory |
-------------------
| Preferences |
-------------------
Run Code Online (Sandbox Code Playgroud)
然后对于所有大小md及以上的屏幕,我想要这个布局:
-------------------
| Search | Pref.|
-------------------
| Directory |
-------------------
Run Code Online (Sandbox Code Playgroud)
我已经读过Bootstrap布局应该是移动优先设计的,所以我的代码如下:
.a {
background-color: green;
}
.b {
background-color: blue;
}
.c {
background-color: red;
}Run Code Online (Sandbox Code Playgroud)
<link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet" />
<div class="container">
<div class="row">
<div class="col-xs-12 col-md-7 a">Search</div>
<div class="col-xs-12 b col-md-push-12">Directory</div>
<div class="col-xs-12 col-md-5 c col-md-pull-7">Preferences</div>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
这是我的代码的Bootply.它的工作方式与小屏幕一样,每个都div以正确的顺序堆叠,但我无法弄清楚原因push,pull …
我正在尝试从命令行运行Weka ML包,而不会弹出GUI.我试过了:
java -jar "\C:\Program Files\Weka-3-6\weka.jar"
Run Code Online (Sandbox Code Playgroud)
这使得applet初始化而没有别的.所以我附加了针对我的问题的参数:
java -jar "\C:\Program Files\Weka-3-6\weka.jar"
weka.classifiers.functions.MultilayerPerceptron
-t data.arff -T test.arff 2> y.txt
Run Code Online (Sandbox Code Playgroud)
全部在一条线上,但为了清晰而分解.这确实产生了一些输出,y.txt因为我稍后需要阅读它,但它给出了:
---Registering Weka Editors---
Trying to add database driver (JDBC): RmiJdbc.RJDriver - Error, not in CLASSPATH?
Trying to add database driver (JDBC): jdbc.idbDriver - Error, not in CLASSPATH?
Trying to add database driver (JDBC): org.gjt.mm.mysql.Driver - Error, not in CLASSPATH?
Trying to add database driver (JDBC): com.mckoi.JDBCDriver - Error, not in CLASSPATH?
Trying to add database driver (JDBC): org.hsqldb.jdbcDriver - …Run Code Online (Sandbox Code Playgroud) 我正在尝试解析这个HTML:
<tr id="a">
<td class="classA">
<span class="classB">Toronto</span>
</td>
<td class="classC">
<span class="classD">Winnipeg</span>
</td>
</tr>
<tr id="b">
<td class="classA">
<span class="classB">Montreal</span>
</td>
<td class="classC">
<span class="classD">Calgary</span>
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我有一个变量team.我想找到<span>包含的内容team.然后我想向上导航并从中<tr>拉id出来.
我试过了:
var team = "Toronto";
var id = $("span:contains(" + team + ")").parent().parent().attr('id');
Run Code Online (Sandbox Code Playgroud)
但它回来了未定义.我知道选择器是对的,因为$("span:contains(" + team + ")").attr('class')回来了classB.所以我无法弄清楚我的查询有什么问题.有人可以帮忙吗?
编辑:这是JSFiddle.
我想使用 PowerShell 脚本启动 SQL Server Management Studio。我知道我可以启动 .exe 来打开它,但我也想填写正确的服务器名称并连接到它。服务器名称来自解析 XML 文件,我已经配置了脚本来执行此操作。但我不知道如何将其传入并从 .ps1 文件自动连接到该服务器。有简单的方法吗?
我必须使用两个线程; 一个用于对矩阵进行各种操作,另一个用于监视矩阵运算过程中各个点的虚拟内存.使用全局状态变量'flag'需要此方法.
到目前为止,我有以下内容(为简洁而留下一些):
int flag = 0;
int allocate_matrices(int dimension)
{
while (flag == 0) {} //busy wait while main prints memory state
int *matrix = (int *) malloc(sizeof(int)*dimension*dimension);
int *matrix2 = (int *) malloc(sizeof(int)*dimension*dimension);
flag = 0;
while (flag == 0) {} //busy wait while main prints memory state
// more similar actions...
}
int memory_stats()
{
while (flag == 0)
{ system("top"); flag = 1; }
}
int main()
{ //threads are created and joined for these two …Run Code Online (Sandbox Code Playgroud) 我正在尝试访问具有Windows安全性的网站:
所以我引用了这篇文章并编写了以下代码:
$web = New-Object Net.WebClient
$web.Credentials = new-object System.Net.NetworkCredential($username, $password, $domain)
$content = $web.DownloadString("https://my.url")
Run Code Online (Sandbox Code Playgroud)
但是在添加凭据之前,我仍然遇到相同的错误:"The remote server returned an error: (401) Unauthorized."我随后引用了此文章,但是在这种情况下,我认为基本身份验证不适用。我已经多次验证了用户名,密码和域。是否存在其他常用的通过身份验证发出Web请求的解决方案?
html ×3
c ×2
powershell ×2
command-line ×1
css ×1
html-parsing ×1
java ×1
javascript ×1
jquery ×1
perl ×1
sql ×1
sql-server ×1
webclient ×1
weka ×1